- Timestamp:
- 2020-11-02T10:56:42+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves
- Files:
-
- 38 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEADext/AGRIF5 ^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 8 9 9 # SETTE 10 ^/utils/CI/sette@ HEADsette10 ^/utils/CI/sette@13559 sette
-
- Property svn:externals
-
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P2Z/p2zbio.F90
r12377 r13710 19 19 ! 20 20 USE lbclnk ! 21 USE prtctl _trc! Print control for debbuging21 USE prtctl ! Print control for debbuging 22 22 USE iom ! 23 23 … … 58 58 !! * Substitutions 59 59 # include "do_loop_substitute.h90" 60 # include "domzgr_substitute.h90" 60 61 !!---------------------------------------------------------------------- 61 62 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 121 122 DO jk = 1, jpkbm1 ! Upper ocean (bio-layers) ! 122 123 ! ! -------------------------- ! 123 DO_2D _00_00124 DO_2D( 0, 0, 0, 0 ) 124 125 ! trophic variables( det, zoo, phy, no3, nh4, dom) 125 126 ! ------------------------------------------------ … … 241 242 DO jk = jpkb, jpkm1 ! Upper ocean (bio-layers) ! 242 243 ! ! -------------------------- ! 243 DO_2D _00_00244 DO_2D( 0, 0, 0, 0 ) 244 245 ! remineralisation of all quantities towards nitrate 245 246 … … 338 339 ! 339 340 IF( lk_iomput ) THEN 340 CALL lbc_lnk( 'p2zbio', zw2d(:,:,:),'T', 1. )341 CALL lbc_lnk_multi( 'p2zbio', zw3d(:,:,:,1),'T', 1. , zw3d(:,:,:,2),'T', 1., zw3d(:,:,:,3),'T', 1.)341 CALL lbc_lnk( 'p2zbio', zw2d(:,:,:),'T', 1.0_wp ) 342 CALL lbc_lnk_multi( 'p2zbio', zw3d(:,:,:,1),'T', 1.0_wp, zw3d(:,:,:,2),'T', 1.0_wp, zw3d(:,:,:,3),'T', 1.0_wp ) 342 343 ! Save diagnostics 343 344 CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) … … 366 367 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 367 368 WRITE(charout, FMT="('bio')") 368 CALL prt_ctl_ trc_info(charout)369 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)369 CALL prt_ctl_info( charout, cdcomp = 'top' ) 370 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 370 371 ENDIF 371 372 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P2Z/p2zexp.F90
r12489 r13710 17 17 USE p2zsed 18 18 USE lbclnk 19 USE prtctl _trc! Print control for debbuging19 USE prtctl ! Print control for debbuging 20 20 USE trd_oce 21 21 USE trdtrc … … 39 39 !! * Substitutions 40 40 # include "do_loop_substitute.h90" 41 # include "domzgr_substitute.h90" 41 42 !!---------------------------------------------------------------------- 42 43 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 81 82 ! LAYERS IS DETERMINED BY DMIN3 DEFINED IN sms_p2z.F90 82 83 ! ---------------------------------------------------------------------- 83 DO_3D _00_00(1, jpkm1 )84 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 84 85 ze3t = 1. / e3t(ji,jj,jk,Kmm) 85 86 tr(ji,jj,jk,jpno3,Krhs) = tr(ji,jj,jk,jpno3,Krhs) + ze3t * dmin3(ji,jj,jk) * xksi(ji,jj) … … 92 93 zgeolpoc = 0.e0 ! Initialization 93 94 ! Release of nutrients from the "simple" sediment 94 DO_2D _00_0095 DO_2D( 0, 0, 0, 0 ) 95 96 ikt = mbkt(ji,jj) 96 97 tr(ji,jj,ikt,jpno3,Krhs) = tr(ji,jj,ikt,jpno3,Krhs) + sedlam * sedpocn(ji,jj) / e3t(ji,jj,ikt,Kmm) … … 102 103 END_2D 103 104 104 DO_2D _00_00105 DO_2D( 0, 0, 0, 0 ) 105 106 tr(ji,jj,1,jpno3,Krhs) = tr(ji,jj,1,jpno3,Krhs) + zgeolpoc * cmask(ji,jj) / areacot / e3t(ji,jj,1,Kmm) 106 107 END_2D 107 108 108 CALL lbc_lnk( 'p2zexp', sedpocn, 'T', 1. )109 CALL lbc_lnk( 'p2zexp', sedpocn, 'T', 1.0_wp ) 109 110 110 111 ! Oa & Ek: diagnostics depending on jpdia2d ! left as example … … 120 121 ELSE 121 122 ! 122 DO_2D _11_11123 DO_2D( 1, 1, 1, 1 ) 123 124 zsedpocd = zsedpoca(ji,jj) - 2. * sedpocn(ji,jj) + sedpocb(ji,jj) ! time laplacian on tracers 124 125 sedpocb(ji,jj) = sedpocn(ji,jj) + rn_atfp * zsedpocd ! sedpocb <-- filtered sedpocn … … 139 140 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 140 141 WRITE(charout, FMT="('exp')") 141 CALL prt_ctl_ trc_info(charout)142 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)142 CALL prt_ctl_info( charout, cdcomp = 'top' ) 143 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 143 144 ENDIF 144 145 ! … … 173 174 zdm0 = 0._wp 174 175 zrro = 1._wp 175 DO_3D _11_11(jpkb, jpkm1 )176 DO_3D( 1, 1, 1, 1, jpkb, jpkm1 ) 176 177 zfluo = ( gdepw(ji,jj,jk ,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr 177 178 zfluu = ( gdepw(ji,jj,jk+1,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr … … 190 191 dminl(:,:) = 0._wp 191 192 dmin3(:,:,:) = zdm0 192 DO_3D _11_11(1, jpk )193 DO_3D( 1, 1, 1, 1, 1, jpk ) 193 194 IF( tmask(ji,jj,jk) == 0._wp ) THEN 194 195 dminl(ji,jj) = dminl(ji,jj) + dmin3(ji,jj,jk) … … 197 198 END_3D 198 199 199 DO_2D _11_11200 DO_2D( 1, 1, 1, 1 ) 200 201 IF( tmask(ji,jj,1) == 0 ) dmin3(ji,jj,1) = 0._wp 201 202 END_2D … … 203 204 ! Coastal mask 204 205 cmask(:,:) = 0._wp 205 DO_2D _00_00206 DO_2D( 0, 0, 0, 0 ) 206 207 IF( tmask(ji,jj,1) /= 0. ) THEN 207 208 zmaskt = tmask(ji+1,jj,1) * tmask(ji-1,jj,1) * tmask(ji,jj+1,1) * tmask(ji,jj-1,1) … … 209 210 END IF 210 211 END_2D 211 CALL lbc_lnk( 'p2zexp', cmask , 'T', 1. ) ! lateral boundary conditions on cmask (sign unchanged)212 CALL lbc_lnk( 'p2zexp', cmask , 'T', 1.0_wp ) ! lateral boundary conditions on cmask (sign unchanged) 212 213 areacot = glob_sum( 'p2zexp', e1e2t(:,:) * cmask(:,:) ) 213 214 ! 214 215 IF( ln_rsttr ) THEN 215 CALL iom_get( numrtr, jpdom_auto glo, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) )216 CALL iom_get( numrtr, jpdom_auto glo, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) )216 CALL iom_get( numrtr, jpdom_auto, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 217 CALL iom_get( numrtr, jpdom_auto, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 217 218 ELSE 218 219 sedpocb(:,:) = 0._wp -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P2Z/p2zopt.F90
r12377 r13710 18 18 USE trc 19 19 USE sms_pisces 20 USE prtctl _trc! Print control for debbuging20 USE prtctl ! Print control for debbuging 21 21 22 22 IMPLICIT NONE … … 40 40 !! * Substitutions 41 41 # include "do_loop_substitute.h90" 42 # include "domzgr_substitute.h90" 42 43 !!---------------------------------------------------------------------- 43 44 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 94 95 ! ! Photosynthetically Available Radiation (PAR) 95 96 zcoef = 12 * redf / rcchl / rpig ! -------------------------------------- 96 DO_3D _11_11( 2, jpk )97 DO_3D( 1, 1, 1, 1, 2, jpk ) ! local par at w-levels 97 98 zpig = LOG( MAX( TINY(0.), tr(ji,jj,jk-1,jpphy,Kmm) ) * zcoef ) 98 99 zkr = xkr0 + xkrp * EXP( xlr * zpig ) … … 101 102 zparg(ji,jj,jk) = zparg(ji,jj,jk-1) * EXP( -zkg * e3t(ji,jj,jk-1,Kmm) ) 102 103 END_3D 103 DO_3D _11_11( 1, jpkm1 )104 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) ! mean par at t-levels 104 105 zpig = LOG( MAX( TINY(0.), tr(ji,jj,jk,jpphy,Kmm) ) * zcoef ) 105 106 zkr = xkr0 + xkrp * EXP( xlr * zpig ) … … 113 114 ! ! -------------- 114 115 neln(:,:) = 1 ! euphotic layer level 115 DO_3D _11_11( 1, jpkm1)116 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) ! (i.e. 1rst T-level strictly below EL bottom) 116 117 IF( etot(ji,jj,jk) >= zpar100(ji,jj) ) neln(ji,jj) = jk + 1 117 118 END_3D 118 119 ! ! Euphotic layer depth 119 DO_2D _11_11120 DO_2D( 1, 1, 1, 1 ) 120 121 heup(ji,jj) = gdepw(ji,jj,neln(ji,jj),Kmm) 121 122 END_2D … … 124 125 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 125 126 WRITE(charout, FMT="('opt')") 126 CALL prt_ctl_ trc_info( charout)127 CALL prt_ctl _trc( tab4d=tr(:,:,:,:,Kmm), mask=tmask, clinfo=ctrcnm )127 CALL prt_ctl_info( charout, cdcomp = 'top' ) 128 CALL prt_ctl( tab4d_1=tr(:,:,:,:,Kmm), mask1=tmask, clinfo=ctrcnm ) 128 129 ENDIF 129 130 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P2Z/p2zsed.F90
r12377 r13710 18 18 USE lbclnk ! 19 19 USE iom ! 20 USE prtctl _trc! Print control for debbuging20 USE prtctl ! Print control for debbuging 21 21 22 22 IMPLICIT NONE … … 33 33 !! * Substitutions 34 34 # include "do_loop_substitute.h90" 35 # include "domzgr_substitute.h90" 35 36 !!---------------------------------------------------------------------- 36 37 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 88 89 89 90 ! tracer flux divergence at t-point added to the general trend 90 DO_3D _11_11(1, jpkm1 )91 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 91 92 ztra(ji,jj,jk) = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / e3t(ji,jj,jk,Kmm) 92 93 tr(ji,jj,jk,jpdet,Krhs) = tr(ji,jj,jk,jpdet,Krhs) + ztra(ji,jj,jk) … … 108 109 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 109 110 WRITE(charout, FMT="('sed')") 110 CALL prt_ctl_ trc_info(charout)111 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)111 CALL prt_ctl_info( charout, cdcomp = 'top' ) 112 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 112 113 ENDIF 113 114 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zagg.F90
r12377 r13710 17 17 USE trc ! passive tracers common variables 18 18 USE sms_pisces ! PISCES Source Minus Sink variables 19 USE prtctl _trc! print control for debugging19 USE prtctl ! print control for debugging 20 20 21 21 IMPLICIT NONE … … 60 60 IF( ln_p4z ) THEN 61 61 ! 62 DO_3D _11_11(1, jpkm1 )62 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 63 63 ! 64 64 zfact = xstep * xdiss(ji,jj,jk) … … 102 102 ELSE ! ln_p5z 103 103 ! 104 DO_3D _11_11(1, jpkm1 )104 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 105 105 ! 106 106 zfact = xstep * xdiss(ji,jj,jk) … … 170 170 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 171 171 WRITE(charout, FMT="('agg')") 172 CALL prt_ctl_ trc_info(charout)173 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)172 CALL prt_ctl_info( charout, cdcomp = 'top' ) 173 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 174 174 ENDIF 175 175 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zbc.F90
r12377 r13710 48 48 !! * Substitutions 49 49 # include "do_loop_substitute.h90" 50 # include "domzgr_substitute.h90" 50 51 !!---------------------------------------------------------------------- 51 52 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 111 112 IF( ll_river ) THEN 112 113 jl = n_trc_indcbc(jpno3) 113 DO_2D _11_11114 DO_2D( 1, 1, 1, 1 ) 114 115 DO jk = 1, nk_rnf(ji,jj) 115 116 zcoef = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time ) * tmask(ji,jj,1) … … 144 145 ALLOCATE( zironice(jpi,jpj) ) 145 146 ! 146 DO_2D _11_11147 DO_2D( 1, 1, 1, 1 ) 147 148 zdep = rfact / e3t(ji,jj,1,Kmm) 148 149 zwflux = fmmflx(ji,jj) / 1000._wp … … 287 288 CALL iom_open ( TRIM( sn_ironsed%clname ), numiron ) 288 289 ALLOCATE( zcmask(jpi,jpj,jpk) ) 289 CALL iom_get ( numiron, jpdom_ data, TRIM( sn_ironsed%clvar ), zcmask(:,:,:), 1 )290 CALL iom_get ( numiron, jpdom_global, TRIM( sn_ironsed%clvar ), zcmask(:,:,:), 1 ) 290 291 CALL iom_close( numiron ) 291 292 ! … … 296 297 IF(lwp) WRITE(numout,*) 297 298 IF(lwp) WRITE(numout,*) ' Level corresponding to 50m depth ', ik50,' ', gdept_1d(ik50+1) 298 DO_3D _00_00(1, ik50 )299 DO_3D( 0, 0, 0, 0, 1, ik50 ) 299 300 ze3t = e3t_0(ji,jj,jk) 300 301 zsurfc = e1u(ji,jj) * ( 1. - umask(ji ,jj ,jk) ) & … … 310 311 END_3D 311 312 ! 312 CALL lbc_lnk( 'p4zbc', zcmask , 'T', 1. ) ! lateral boundary conditions on cmask (sign unchanged)313 ! 314 DO_3D _11_11(1, jpk )313 CALL lbc_lnk( 'p4zbc', zcmask , 'T', 1.0_wp ) ! lateral boundary conditions on cmask (sign unchanged) 314 ! 315 DO_3D( 1, 1, 1, 1, 1, jpk ) 315 316 zexpide = MIN( 8.,( gdept(ji,jj,jk,Kmm) / 500. )**(-1.5) ) 316 317 zdenitide = -0.9543 + 0.7662 * LOG( zexpide ) - 0.235 * LOG( zexpide )**2 -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zbio.F90
r12377 r13710 30 30 USE p4zfechem 31 31 USE p4zligand ! Prognostic ligand model 32 USE prtctl _trc! print control for debugging32 USE prtctl ! print control for debugging 33 33 USE iom ! I/O manager 34 34 … … 40 40 !! * Substitutions 41 41 # include "do_loop_substitute.h90" 42 # include "domzgr_substitute.h90" 42 43 !!---------------------------------------------------------------------- 43 44 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 71 72 xdiss(:,:,:) = 1. 72 73 !!gm the use of nmld should be better here? 73 DO_3D _11_11(2, jpkm1 )74 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 74 75 !!gm : use nmln and test on jk ... less memory acces 75 76 IF( gdepw(ji,jj,jk+1,Kmm) > hmld(ji,jj) ) xdiss(ji,jj,jk) = 0.01 … … 107 108 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 108 109 WRITE(charout, FMT="('bio ')") 109 CALL prt_ctl_ trc_info(charout)110 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)110 CALL prt_ctl_info( charout, cdcomp = 'top' ) 111 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 111 112 ENDIF 112 113 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zche.F90
r12377 r13710 132 132 !! * Substitutions 133 133 # include "do_loop_substitute.h90" 134 # include "domzgr_substitute.h90" 134 135 !!---------------------------------------------------------------------- 135 136 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 178 179 ! 0.04°C relative to an exact computation 179 180 ! --------------------------------------------------------------------- 180 DO_3D _11_11(1, jpk )181 DO_3D( 1, 1, 1, 1, 1, jpk ) 181 182 zpres = gdept(ji,jj,jk,Kmm) / 1000. 182 183 za1 = 0.04 * ( 1.0 + 0.185 * ts(ji,jj,jk,jp_tem,Kmm) + 0.035 * (salinprac(ji,jj,jk) - 35.0) ) … … 471 472 IF( ln_timing ) CALL timing_start('ahini_for_at') 472 473 ! 473 DO_3D _11_11(1, jpk )474 DO_3D( 1, 1, 1, 1, 1, jpk ) 474 475 p_alkcb = tr(ji,jj,jk,jptal,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) 475 476 p_dictot = tr(ji,jj,jk,jpdic,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) … … 569 570 570 571 ! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree 571 DO_3D _11_11(1, jpk )572 DO_3D( 1, 1, 1, 1, 1, jpk ) 572 573 IF (rmask(ji,jj,jk) == 1.) THEN 573 574 p_alktot = tr(ji,jj,jk,jptal,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) … … 598 599 599 600 DO jn = 1, jp_maxniter_atgen 600 DO_3D _11_11(1, jpk )601 DO_3D( 1, 1, 1, 1, 1, jpk ) 601 602 IF (rmask(ji,jj,jk) == 1.) THEN 602 603 zfact = rhop(ji,jj,jk) / 1000. + rtrn -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zfechem.F90
r12377 r13710 16 16 USE p4zche ! chemical model 17 17 USE p4zbc ! Boundary conditions from sediments 18 USE prtctl _trc! print control for debugging18 USE prtctl ! print control for debugging 19 19 USE iom ! I/O manager 20 20 … … 33 33 !! * Substitutions 34 34 # include "do_loop_substitute.h90" 35 # include "domzgr_substitute.h90" 35 36 !!---------------------------------------------------------------------- 36 37 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 91 92 ! Chemistry is supposed to be fast enough to be at equilibrium 92 93 ! ------------------------------------------------------------ 93 DO_3D _11_11(1, jpkm1 )94 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 94 95 zTL1(ji,jj,jk) = ztotlig(ji,jj,jk) 95 96 zkeq = fekeq(ji,jj,jk) … … 106 107 107 108 zdust = 0. ! if no dust available 108 DO_3D _11_11(1, jpkm1 )109 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 109 110 ! Scavenging rate of iron. This scavenging rate depends on the load of particles of sea water. 110 111 ! This parameterization assumes a simple second order kinetics (k[Particles][Fe]). … … 117 118 ! 118 119 zfeequi = zFe3(ji,jj,jk) * 1E-9 119 zhplus = max( rtrn, hi(ji,jj,jk) )120 fe3sol = fesol(ji,jj,jk,1) * ( zhplus**3 + fesol(ji,jj,jk,2) * zhplus**2 &121 & + fesol(ji,jj,jk,3) * zhplus + fesol(ji,jj,jk,4) &122 & + fesol(ji,jj,jk,5) / zhplus )123 120 zfecoll = 0.5 * zFeL1(ji,jj,jk) * 1E-9 124 121 ! precipitation of Fe3+, creation of nanoparticles … … 176 173 IF( ln_ligand ) THEN 177 174 ! 178 DO_3D _11_11(1, jpkm1 )175 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 179 176 zlam1a = ( 0.369 * 0.3 * tr(ji,jj,jk,jpdoc,Kbb) + 102.4 * tr(ji,jj,jk,jppoc,Kbb) ) * xdiss(ji,jj,jk) & 180 177 & + ( 114. * 0.3 * tr(ji,jj,jk,jpdoc,Kbb) ) … … 221 218 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 222 219 WRITE(charout, FMT="('fechem')") 223 CALL prt_ctl_ trc_info(charout)224 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)220 CALL prt_ctl_info( charout, cdcomp = 'top' ) 221 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 225 222 ENDIF 226 223 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zflx.F90
r12377 r13710 19 19 USE sms_pisces ! PISCES Source Minus Sink variables 20 20 USE p4zche ! Chemical model 21 USE prtctl _trc! print control for debugging21 USE prtctl ! print control for debugging 22 22 USE iom ! I/O manager 23 23 USE fldread ! read input fields … … 54 54 !! * Substitutions 55 55 # include "do_loop_substitute.h90" 56 # include "domzgr_substitute.h90" 56 57 !!---------------------------------------------------------------------- 57 58 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 109 110 IF( l_co2cpl ) satmco2(:,:) = atm_co2(:,:) 110 111 111 DO_2D _11_11112 DO_2D( 1, 1, 1, 1 ) 112 113 ! DUMMY VARIABLES FOR DIC, H+, AND BORATE 113 114 zfact = rhop(ji,jj,1) / 1000. + rtrn … … 125 126 ! ------------------------------------------- 126 127 127 DO_2D _11_11128 DO_2D( 1, 1, 1, 1 ) 128 129 ztc = MIN( 35., ts(ji,jj,1,jp_tem,Kmm) ) 129 130 ztc2 = ztc * ztc … … 144 145 145 146 146 DO_2D _11_11147 DO_2D( 1, 1, 1, 1 ) 147 148 ztkel = tempis(ji,jj,1) + 273.15 148 149 zsal = salinprac(ji,jj,1) + ( 1.- tmask(ji,jj,1) ) * 35. … … 177 178 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 178 179 WRITE(charout, FMT="('flx ')") 179 CALL prt_ctl_ trc_info(charout)180 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)180 CALL prt_ctl_info( charout, cdcomp = 'top' ) 181 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 181 182 ENDIF 182 183 -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zligand.F90
r12377 r13710 12 12 USE trc ! passive tracers common variables 13 13 USE sms_pisces ! PISCES Source Minus Sink variables 14 USE prtctl _trc! print control for debugging14 USE prtctl ! print control for debugging 15 15 USE iom ! I/O manager 16 16 … … 52 52 IF( ln_timing ) CALL timing_start('p4z_ligand') 53 53 ! 54 DO_3D _11_11(1, jpkm1 )54 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 55 55 ! 56 56 ! ------------------------------------------------------------------ … … 89 89 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 90 90 WRITE(charout, FMT="('ligand1')") 91 CALL prt_ctl_ trc_info(charout)92 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)91 CALL prt_ctl_info( charout, cdcomp = 'top' ) 92 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 93 93 ENDIF 94 94 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zlim.F90
r12377 r13710 98 98 IF( ln_timing ) CALL timing_start('p4z_lim') 99 99 ! 100 DO_3D _11_11(1, jpkm1 )100 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 101 101 102 102 ! Tuning of the iron concentration to a minimum level that is set to the detection limit … … 161 161 zlim1 = xdiatno3(ji,jj,jk) + xdiatnh4(ji,jj,jk) 162 162 zlim2 = tr(ji,jj,jk,jppo4,Kbb) / ( tr(ji,jj,jk,jppo4,Kbb) + zconc1dnh4 ) 163 zlim3 = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) )163 zlim3 = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) + rtrn ) 164 164 zratio = tr(ji,jj,jk,jpdfe,Kbb) * z1_trbdia 165 165 zironmin = xcoef1 * tr(ji,jj,jk,jpdch,Kbb) * z1_trbdia + xcoef2 * zlim1 + xcoef3 * xdiatno3(ji,jj,jk) … … 173 173 ! Compute the fraction of nanophytoplankton that is made of calcifiers 174 174 ! -------------------------------------------------------------------- 175 DO_3D _11_11(1, jpkm1 )175 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 176 176 zlim1 = ( tr(ji,jj,jk,jpno3,Kbb) * concnnh4 + tr(ji,jj,jk,jpnh4,Kbb) * concnno3 ) & 177 177 & / ( concnno3 * concnnh4 + concnnh4 * tr(ji,jj,jk,jpno3,Kbb) + concnno3 * tr(ji,jj,jk,jpnh4,Kbb) ) … … 193 193 END_3D 194 194 ! 195 DO_3D _11_11(1, jpkm1 )195 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 196 196 ! denitrification factor computed from O2 levels 197 197 nitrfac(ji,jj,jk) = MAX( 0.e0, 0.4 * ( 6.e-6 - tr(ji,jj,jk,jpoxy,Kbb) ) & -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zlys.F90
r12377 r13710 20 20 USE sms_pisces ! PISCES Source Minus Sink variables 21 21 USE p4zche ! Chemical model 22 USE prtctl _trc! print control for debugging22 USE prtctl ! print control for debugging 23 23 USE iom ! I/O manager 24 24 … … 75 75 CALL solve_at_general( zhinit, zhi, Kbb ) 76 76 77 DO_3D _11_11(1, jpkm1 )77 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 78 78 zco3(ji,jj,jk) = tr(ji,jj,jk,jpdic,Kbb) * ak13(ji,jj,jk) * ak23(ji,jj,jk) / (zhi(ji,jj,jk)**2 & 79 79 & + ak13(ji,jj,jk) * zhi(ji,jj,jk) + ak13(ji,jj,jk) * ak23(ji,jj,jk) + rtrn ) … … 87 87 ! --------------------------------------------------------- 88 88 89 DO_3D _11_11(1, jpkm1 )89 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 90 90 91 91 ! DEVIATION OF [CO3--] FROM SATURATION VALUE … … 130 130 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 131 131 WRITE(charout, FMT="('lys ')") 132 CALL prt_ctl_ trc_info(charout)133 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)132 CALL prt_ctl_info( charout, cdcomp = 'top' ) 133 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 134 134 ENDIF 135 135 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zmeso.F90
r12377 r13710 15 15 USE sms_pisces ! PISCES Source Minus Sink variables 16 16 USE p4zprod ! production 17 USE prtctl _trc! print control for debugging17 USE prtctl ! print control for debugging 18 18 USE iom ! I/O manager 19 19 … … 69 69 REAL(wp) :: zfact , zfood, zfoodlim, zproport, zbeta 70 70 REAL(wp) :: zmortzgoc, zfrac, zfracfe, zratio, zratio2, zfracal, zgrazcal 71 REAL(wp) :: zepsherf, zepshert, zepsherv, zgrarsig, zgraztotc, zgraztotn, zgraztotf 71 REAL(wp) :: zepsherf, zepshert, zepsherv, zepsherq 72 REAL(wp) :: zgrarsig, zgraztotc, zgraztotn, zgraztotf 72 73 REAL(wp) :: zgrarem2, zgrafer2, zgrapoc2, zprcaca, zmortz, zgrasrat, zgrasratn 73 74 REAL(wp) :: zrespz, ztortz, zgrazd, zgrazz, zgrazpof … … 80 81 IF( ln_timing ) CALL timing_start('p4z_meso') 81 82 ! 82 DO_3D _11_11(1, jpkm1 )83 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 83 84 zcompam = MAX( ( tr(ji,jj,jk,jpmes,Kbb) - 1.e-9 ), 0.e0 ) 84 85 zfact = xstep * tgfunc2(ji,jj,jk) * zcompam … … 156 157 zgrazing2(ji,jj,jk) = zgraztotc 157 158 158 ! Mesozooplankton efficiency 159 ! -------------------------- 159 ! Mesozooplankton efficiency. 160 ! We adopt a formulation proposed by Mitra et al. (2007) 161 ! The gross growth efficiency is controled by the most limiting nutrient. 162 ! Growth is also further decreased when the food quality is poor. This is currently 163 ! hard coded : it can be decreased by up to 50% (zepsherq) 164 ! GGE can also be decreased when food quantity is high, zepsherf (Montagnes and 165 ! Fulton, 2012) 166 ! ----------------------------------------------------------------------------------- 160 167 zgrasrat = ( zgraztotf + rtrn )/ ( zgraztotc + rtrn ) 161 168 zgrasratn = ( zgraztotn + rtrn )/ ( zgraztotc + rtrn ) … … 163 170 zbeta = MAX(0., (epsher2 - epsher2min) ) 164 171 zepsherf = epsher2min + zbeta / ( 1.0 + 0.04E6 * 12. * zfood * zbeta ) 165 zepsherv = zepsherf * zepshert 172 zepsherq = 0.5 + (1.0 - 0.5) * zepshert * ( 1.0 + 1.0 ) / ( zepshert + 1.0 ) 173 zepsherv = zepsherf * zepshert * zepsherq 166 174 167 175 zgrarem2 = zgraztotc * ( 1. - zepsherv - unass2 ) & … … 170 178 & + ferat3 * ( ( 1. - epsher2 - unass2 ) /( 1. - epsher2 ) * ztortz ) 171 179 zgrapoc2 = zgraztotc * unass2 180 172 181 173 182 ! Update the arrays TRA which contain the biological sources and sinks … … 237 246 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 238 247 WRITE(charout, FMT="('meso')") 239 CALL prt_ctl_ trc_info(charout)240 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)248 CALL prt_ctl_info( charout, cdcomp = 'top' ) 249 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 241 250 ENDIF 242 251 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zmicro.F90
r12377 r13710 17 17 USE p4zprod ! production 18 18 USE iom ! I/O manager 19 USE prtctl _trc! print control for debugging19 USE prtctl ! print control for debugging 20 20 21 21 IMPLICIT NONE … … 67 67 REAL(wp) :: zgraze , zdenom, zdenom2 68 68 REAL(wp) :: zfact , zfood, zfoodlim, zbeta 69 REAL(wp) :: zepsherf, zepshert, zepsherv, zgrarsig, zgraztotc, zgraztotn, zgraztotf 69 REAL(wp) :: zepsherf, zepshert, zepsherv, zepsherq 70 REAL(wp) :: zgrarsig, zgraztotc, zgraztotn, zgraztotf 70 71 REAL(wp) :: zgrarem, zgrafer, zgrapoc, zprcaca, zmortz 71 72 REAL(wp) :: zrespz, ztortz, zgrasrat, zgrasratn … … 78 79 IF( ln_timing ) CALL timing_start('p4z_micro') 79 80 ! 80 DO_3D _11_11(1, jpkm1 )81 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 81 82 zcompaz = MAX( ( tr(ji,jj,jk,jpzoo,Kbb) - 1.e-9 ), 0.e0 ) 82 83 zfact = xstep * tgfunc2(ji,jj,jk) * zcompaz … … 119 120 zgrazing(ji,jj,jk) = zgraztotc 120 121 121 ! Various remineralization and excretion terms 122 ! -------------------------------------------- 122 123 ! Microzooplankton efficiency. 124 ! We adopt a formulation proposed by Mitra et al. (2007) 125 ! The gross growth efficiency is controled by the most limiting nutrient. 126 ! Growth is also further decreased when the food quality is poor. This is currently 127 ! hard coded : it can be decreased by up to 50% (zepsherq) 128 ! GGE can also be decreased when food quantity is high, zepsherf (Montagnes and 129 ! Fulton, 2012) 130 ! ----------------------------------------------------------------------------- 123 131 zgrasrat = ( zgraztotf + rtrn ) / ( zgraztotc + rtrn ) 124 132 zgrasratn = ( zgraztotn + rtrn ) / ( zgraztotc + rtrn ) … … 126 134 zbeta = MAX(0., (epsher - epshermin) ) 127 135 zepsherf = epshermin + zbeta / ( 1.0 + 0.04E6 * 12. * zfood * zbeta ) 128 zepsherv = zepsherf * zepshert 136 zepsherq = 0.5 + (1.0 - 0.5) * zepshert * ( 1.0 + 1.0 ) / ( zepshert + 1.0 ) 137 zepsherv = zepsherf * zepshert * zepsherq 129 138 130 139 zgrafer = zgraztotc * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepsherv ) … … 193 202 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 194 203 WRITE(charout, FMT="('micro')") 195 CALL prt_ctl_ trc_info(charout)196 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)204 CALL prt_ctl_info( charout, cdcomp = 'top' ) 205 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 197 206 ENDIF 198 207 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zmort.F90
r12377 r13710 15 15 USE p4zprod ! Primary productivity 16 16 USE p4zlim ! Phytoplankton limitation terms 17 USE prtctl _trc! print control for debugging17 USE prtctl ! print control for debugging 18 18 19 19 IMPLICIT NONE … … 77 77 ! 78 78 prodcal(:,:,:) = 0._wp ! calcite production variable set to zero 79 DO_3D _11_11(1, jpkm1 )79 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 80 80 zcompaph = MAX( ( tr(ji,jj,jk,jpphy,Kbb) - 1e-8 ), 0.e0 ) 81 81 ! When highly limited by macronutrients, very small cells … … 120 120 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 121 121 WRITE(charout, FMT="('nano')") 122 CALL prt_ctl_ trc_info(charout)123 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)122 CALL prt_ctl_info( charout, cdcomp = 'top' ) 123 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 124 124 ENDIF 125 125 ! … … 152 152 ! ------------------------------------------------------------ 153 153 154 DO_3D _11_11(1, jpkm1 )154 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 155 155 156 156 zcompadi = MAX( ( tr(ji,jj,jk,jpdia,Kbb) - 1e-9), 0. ) … … 192 192 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 193 193 WRITE(charout, FMT="('diat')") 194 CALL prt_ctl_ trc_info(charout)195 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)194 CALL prt_ctl_info( charout, cdcomp = 'top' ) 195 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 196 196 ENDIF 197 197 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zopt.F90
r12377 r13710 16 16 USE iom ! I/O manager 17 17 USE fldread ! time interpolation 18 USE prtctl _trc! print control for debugging18 USE prtctl ! print control for debugging 19 19 20 20 IMPLICIT NONE … … 37 37 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: par_varsw ! PAR fraction of shortwave 38 38 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ekb, ekg, ekr ! wavelength (Red-Green-Blue) 39 40 INTEGER :: nksrp ! levels below which the light cannot penetrate ( depth larger than 391 m)41 42 REAL(wp), DIMENSION(3,61) :: xkrgb ! tabulated attenuation coefficients for RGB absorption43 39 44 40 !! * Substitutions 45 41 # include "do_loop_substitute.h90" 42 # include "domzgr_substitute.h90" 46 43 !!---------------------------------------------------------------------- 47 44 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 88 85 IF( ln_p5z ) zchl3d(:,:,:) = zchl3d(:,:,:) + tr(:,:,:,jppch,Kbb) 89 86 ! 90 DO_3D _11_11(1, jpkm1 )87 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 91 88 zchl = ( zchl3d(ji,jj,jk) + rtrn ) * 1.e6 92 89 zchl = MIN( 10. , MAX( 0.05, zchl ) ) 93 90 irgb = NINT( 41 + 20.* LOG10( zchl ) + rtrn ) 94 91 ! 95 ekb(ji,jj,jk) = xkrgb(1,irgb) * e3t(ji,jj,jk,Kmm)96 ekg(ji,jj,jk) = xkrgb(2,irgb) * e3t(ji,jj,jk,Kmm)97 ekr(ji,jj,jk) = xkrgb(3,irgb) * e3t(ji,jj,jk,Kmm)92 ekb(ji,jj,jk) = rkrgb(1,irgb) * e3t(ji,jj,jk,Kmm) 93 ekg(ji,jj,jk) = rkrgb(2,irgb) * e3t(ji,jj,jk,Kmm) 94 ekr(ji,jj,jk) = rkrgb(3,irgb) * e3t(ji,jj,jk,Kmm) 98 95 END_3D 99 96 ! !* Photosynthetically Available Radiation (PAR) … … 105 102 CALL p4z_opt_par( kt, Kmm, zqsr_corr, ze1, ze2, ze3, pqsr100 = zqsr100 ) 106 103 ! 107 DO jk = 1, nksr p104 DO jk = 1, nksr 108 105 etot_ndcy(:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) 109 106 enano (:,:,jk) = 1.85 * ze1(:,:,jk) + 0.69 * ze2(:,:,jk) + 0.46 * ze3(:,:,jk) … … 111 108 END DO 112 109 IF( ln_p5z ) THEN 113 DO jk = 1, nksr p110 DO jk = 1, nksr 114 111 epico (:,:,jk) = 1.94 * ze1(:,:,jk) + 0.66 * ze2(:,:,jk) + 0.4 * ze3(:,:,jk) 115 112 END DO … … 120 117 CALL p4z_opt_par( kt, Kmm, zqsr_corr, ze1, ze2, ze3 ) 121 118 ! 122 DO jk = 1, nksr p119 DO jk = 1, nksr 123 120 etot(:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) 124 121 END DO … … 130 127 CALL p4z_opt_par( kt, Kmm, zqsr_corr, ze1, ze2, ze3, pqsr100 = zqsr100 ) 131 128 ! 132 DO jk = 1, nksr p129 DO jk = 1, nksr 133 130 etot (:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) 134 131 enano(:,:,jk) = 1.85 * ze1(:,:,jk) + 0.69 * ze2(:,:,jk) + 0.46 * ze3(:,:,jk) … … 136 133 END DO 137 134 IF( ln_p5z ) THEN 138 DO jk = 1, nksr p135 DO jk = 1, nksr 139 136 epico(:,:,jk) = 1.94 * ze1(:,:,jk) + 0.66 * ze2(:,:,jk) + 0.4 * ze3(:,:,jk) 140 137 END DO … … 149 146 ! 150 147 etot3(:,:,1) = qsr(:,:) * tmask(:,:,1) 151 DO jk = 2, nksr p+ 1148 DO jk = 2, nksr + 1 152 149 etot3(:,:,jk) = ( ze0(:,:,jk) + ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) ) * tmask(:,:,jk) 153 150 END DO … … 159 156 heup_01(:,:) = gdepw(:,:,2,Kmm) 160 157 161 DO_3D _11_11( 2, nksrp)158 DO_3D( 1, 1, 1, 1, 2, nksr ) 162 159 IF( etot_ndcy(ji,jj,jk) * tmask(ji,jj,jk) >= zqsr100(ji,jj) ) THEN 163 160 neln(ji,jj) = jk+1 ! Euphotic level : 1rst T-level strictly below Euphotic layer … … 177 174 zetmp2 (:,:) = 0.e0 178 175 179 DO_3D _11_11( 1, nksrp)176 DO_3D( 1, 1, 1, 1, 1, nksr ) 180 177 IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 181 178 zetmp1 (ji,jj) = zetmp1 (ji,jj) + etot (ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! remineralisation … … 188 185 zpar(:,:,:) = etot_ndcy(:,:,:) ! diagnostic : PAR with no diurnal cycle 189 186 ! 190 DO_3D _11_11( 1, nksrp)187 DO_3D( 1, 1, 1, 1, 1, nksr ) 191 188 IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 192 189 z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) … … 200 197 zetmp4 (:,:) = 0.e0 201 198 ! 202 DO_3D _11_11( 1, nksrp)199 DO_3D( 1, 1, 1, 1, 1, nksr ) 203 200 IF( gdepw(ji,jj,jk+1,Kmm) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 204 201 zetmp3 (ji,jj) = zetmp3 (ji,jj) + enano (ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! production … … 210 207 ediatm(:,:,:) = ediat(:,:,:) 211 208 ! 212 DO_3D _11_11( 1, nksrp)209 DO_3D( 1, 1, 1, 1, 1, nksr ) 213 210 IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 214 211 z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) … … 220 217 IF( ln_p5z ) THEN 221 218 ALLOCATE( zetmp5(jpi,jpj) ) ; zetmp5 (:,:) = 0.e0 222 DO_3D _11_11( 1, nksrp)219 DO_3D( 1, 1, 1, 1, 1, nksr ) 223 220 IF( gdepw(ji,jj,jk+1,Kmm) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 224 221 zetmp5(ji,jj) = zetmp5 (ji,jj) + epico(ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! production … … 228 225 epicom(:,:,:) = epico(:,:,:) 229 226 ! 230 DO_3D _11_11( 1, nksrp)227 DO_3D( 1, 1, 1, 1, 1, nksr ) 231 228 IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 232 229 z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) … … 282 279 pe3(:,:,1) = zqsr(:,:) 283 280 ! 284 DO jk = 2, nksr p+ 1281 DO jk = 2, nksr + 1 285 282 DO jj = 1, jpj 286 283 DO ji = 1, jpi … … 301 298 pe3(:,:,1) = zqsr(:,:) * EXP( -0.5 * ekr(:,:,1) ) 302 299 ! 303 DO_3D _11_11( 2, nksrp)300 DO_3D( 1, 1, 1, 1, 2, nksr ) 304 301 pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -0.5 * ( ekb(ji,jj,jk-1) + ekb(ji,jj,jk) ) ) 305 302 pe2(ji,jj,jk) = pe2(ji,jj,jk-1) * EXP( -0.5 * ( ekg(ji,jj,jk-1) + ekg(ji,jj,jk) ) ) … … 399 396 ntimes_par = iom_getszuld( numpar ) ! get number of record in file 400 397 ENDIF 401 !402 CALL trc_oce_rgb( xkrgb ) ! tabulated attenuation coefficients403 nksrp = trc_oce_ext_lev( r_si2, 0.33e2 ) ! max level of light extinction (Blue Chl=0.01)404 !405 IF(lwp) WRITE(numout,*) ' level of light extinction = ', nksrp, ' ref depth = ', gdepw_1d(nksrp+1), ' m'406 398 ! 407 399 ekr (:,:,:) = 0._wp -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zpoc.F90
r12377 r13710 15 15 USE trc ! passive tracers common variables 16 16 USE sms_pisces ! PISCES Source Minus Sink variables 17 USE prtctl _trc! print control for debugging17 USE prtctl ! print control for debugging 18 18 USE iom ! I/O manager 19 19 … … 39 39 !! * Substitutions 40 40 # include "do_loop_substitute.h90" 41 # include "domzgr_substitute.h90" 41 42 !!---------------------------------------------------------------------- 42 43 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 106 107 ! ----------------------------------------------------------------------- 107 108 ztremint(:,:,:) = zremigoc(:,:,:) 108 DO_3D _11_11(2, jpkm1 )109 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 109 110 IF (tmask(ji,jj,jk) == 1.) THEN 110 111 zdep = hmld(ji,jj) … … 191 192 192 193 IF( ln_p4z ) THEN 193 DO_3D _11_11(1, jpkm1 )194 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 194 195 ! POC disaggregation by turbulence and bacterial activity. 195 196 ! -------------------------------------------------------- … … 211 212 END_3D 212 213 ELSE 213 DO_3D _11_11(1, jpkm1 )214 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 214 215 ! POC disaggregation by turbulence and bacterial activity. 215 216 ! -------------------------------------------------------- … … 241 242 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 242 243 WRITE(charout, FMT="('poc1')") 243 CALL prt_ctl_ trc_info(charout)244 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)244 CALL prt_ctl_info( charout, cdcomp = 'top' ) 245 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 245 246 ENDIF 246 247 … … 259 260 ! ---------------------------------------------------------------- 260 261 ! 261 DO_3D _11_11(1, jpkm1 )262 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 262 263 zdep = hmld(ji,jj) 263 264 IF (tmask(ji,jj,jk) == 1. .AND. gdept(ji,jj,jk,Kmm) <= zdep ) THEN … … 274 275 ! --------------------------------------------------------------------- 275 276 ztremint(:,:,:) = zremipoc(:,:,:) 276 DO_3D _11_11(1, jpkm1 )277 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 277 278 IF (tmask(ji,jj,jk) == 1.) THEN 278 279 zdep = hmld(ji,jj) … … 309 310 ! ----------------------------------------------------------------------- 310 311 ! 311 DO_3D _11_11(2, jpkm1 )312 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 312 313 IF (tmask(ji,jj,jk) == 1.) THEN 313 314 zdep = hmld(ji,jj) … … 383 384 384 385 IF( ln_p4z ) THEN 385 DO_3D _11_11(1, jpkm1 )386 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 386 387 IF (tmask(ji,jj,jk) == 1.) THEN 387 388 ! POC disaggregation by turbulence and bacterial activity. … … 400 401 END_3D 401 402 ELSE 402 DO_3D _11_11(1, jpkm1 )403 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 403 404 ! POC disaggregation by turbulence and bacterial activity. 404 405 ! -------------------------------------------------------- … … 433 434 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 434 435 WRITE(charout, FMT="('poc2')") 435 CALL prt_ctl_ trc_info(charout)436 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)436 CALL prt_ctl_info( charout, cdcomp = 'top' ) 437 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 437 438 ENDIF 438 439 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zprod.F90
r12377 r13710 16 16 USE sms_pisces ! PISCES Source Minus Sink variables 17 17 USE p4zlim ! Co-limitations of differents nutrients 18 USE prtctl _trc! print control for debugging18 USE prtctl ! print control for debugging 19 19 USE iom ! I/O manager 20 20 … … 48 48 !! * Substitutions 49 49 # include "do_loop_substitute.h90" 50 # include "domzgr_substitute.h90" 50 51 !!---------------------------------------------------------------------- 51 52 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 109 110 ! day length in hours 110 111 zstrn(:,:) = 0. 111 DO_2D _11_11112 DO_2D( 1, 1, 1, 1 ) 112 113 zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 113 114 zargu = MAX( -1., MIN( 1., zargu ) ) … … 116 117 117 118 ! Impact of the day duration and light intermittency on phytoplankton growth 118 DO_3D _11_11(1, jpkm1 )119 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 119 120 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 120 121 zval = MAX( 1., zstrn(ji,jj) ) … … 134 135 135 136 ! Computation of the P-I slope for nanos and diatoms 136 DO_3D _11_11(1, jpkm1 )137 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 137 138 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 138 139 ztn = MAX( 0., ts(ji,jj,jk,jp_tem,Kmm) - 15. ) … … 149 150 END_3D 150 151 151 DO_3D _11_11(1, jpkm1 )152 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 152 153 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 153 154 ! Computation of production function for Carbon … … 170 171 ! Computation of a proxy of the N/C ratio 171 172 ! --------------------------------------- 172 DO_3D _11_11(1, jpkm1 )173 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 173 174 zval = MIN( xnanopo4(ji,jj,jk), ( xnanonh4(ji,jj,jk) + xnanono3(ji,jj,jk) ) ) & 174 175 & * zprmaxn(ji,jj,jk) / ( zprbio(ji,jj,jk) + rtrn ) … … 180 181 181 182 182 DO_3D _11_11(1, jpkm1 )183 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 183 184 184 185 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN … … 204 205 ! Sea-ice effect on production 205 206 206 DO_3D _11_11(1, jpkm1 )207 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 207 208 zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 208 209 zprdia(ji,jj,jk) = zprdia(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) … … 210 211 211 212 ! Computation of the various production terms 212 DO_3D _11_11(1, jpkm1 )213 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 213 214 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 214 215 ! production terms for nanophyto. (C) … … 236 237 237 238 ! Computation of the chlorophyll production terms 238 DO_3D _11_11(1, jpkm1 )239 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 239 240 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 240 241 ! production terms for nanophyto. ( chlorophyll ) … … 259 260 260 261 ! Update the arrays TRA which contain the biological sources and sinks 261 DO_3D _11_11(1, jpkm1 )262 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 262 263 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 263 264 zproreg = zprorcan(ji,jj,jk) - zpronewn(ji,jj,jk) … … 287 288 IF( ln_ligand ) THEN 288 289 zpligprod1(:,:,:) = 0._wp ; zpligprod2(:,:,:) = 0._wp 289 DO_3D _11_11(1, jpkm1 )290 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 290 291 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 291 292 zdocprod = excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk) … … 330 331 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 331 332 WRITE(charout, FMT="('prod')") 332 CALL prt_ctl_ trc_info(charout)333 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)333 CALL prt_ctl_info( charout, cdcomp = 'top' ) 334 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 334 335 ENDIF 335 336 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zrem.F90
r12377 r13710 18 18 USE p4zprod ! Growth rate of the 2 phyto groups 19 19 USE p4zlim 20 USE prtctl _trc! print control for debugging20 USE prtctl ! print control for debugging 21 21 USE iom ! I/O manager 22 22 … … 44 44 !! * Substitutions 45 45 # include "do_loop_substitute.h90" 46 # include "domzgr_substitute.h90" 46 47 !!---------------------------------------------------------------------- 47 48 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 88 89 ! that was modeling explicitely bacteria 89 90 ! ------------------------------------------------------- 90 DO_3D _11_11(1, jpkm1 )91 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 91 92 zdep = MAX( hmld(ji,jj), heup(ji,jj) ) 92 93 IF( gdept(ji,jj,jk,Kmm) < zdep ) THEN … … 102 103 103 104 IF( ln_p4z ) THEN 104 DO_3D _11_11(1, jpkm1 )105 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 105 106 ! DOC ammonification. Depends on depth, phytoplankton biomass 106 107 ! and a limitation term which is supposed to be a parameterization of the bacterial activity. … … 133 134 END_3D 134 135 ELSE 135 DO_3D _11_11(1, jpkm1 )136 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 136 137 ! DOC ammonification. Depends on depth, phytoplankton biomass 137 138 ! and a limitation term which is supposed to be a parameterization of the bacterial activity. … … 177 178 178 179 179 DO_3D _11_11(1, jpkm1 )180 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 180 181 ! NH4 nitrification to NO3. Ceased for oxygen concentrations 181 182 ! below 2 umol/L. Inhibited at strong light … … 195 196 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 196 197 WRITE(charout, FMT="('rem1')") 197 CALL prt_ctl_ trc_info(charout)198 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)198 CALL prt_ctl_info( charout, cdcomp = 'top' ) 199 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 199 200 ENDIF 200 201 201 DO_3D _11_11(1, jpkm1 )202 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 202 203 203 204 ! Bacterial uptake of iron. No iron is available in DOC. So … … 217 218 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 218 219 WRITE(charout, FMT="('rem2')") 219 CALL prt_ctl_ trc_info(charout)220 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)220 CALL prt_ctl_info( charout, cdcomp = 'top' ) 221 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 221 222 ENDIF 222 223 … … 225 226 ! --------------------------------------------------------------- 226 227 227 DO_3D _11_11(1, jpkm1 )228 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 228 229 zdep = MAX( hmld(ji,jj), heup_01(ji,jj) ) 229 230 zsatur = MAX( rtrn, ( sio3eq(ji,jj,jk) - tr(ji,jj,jk,jpsil,Kbb) ) / ( sio3eq(ji,jj,jk) + rtrn ) ) … … 248 249 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 249 250 WRITE(charout, FMT="('rem3')") 250 CALL prt_ctl_ trc_info(charout)251 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)251 CALL prt_ctl_info( charout, cdcomp = 'top' ) 252 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 252 253 ENDIF 253 254 -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zsed.F90
r12377 r13710 18 18 USE sed ! Sediment module 19 19 USE iom ! I/O manager 20 USE prtctl _trc! print control for debugging20 USE prtctl ! print control for debugging 21 21 22 22 IMPLICIT NONE … … 39 39 !! * Substitutions 40 40 # include "do_loop_substitute.h90" 41 # include "domzgr_substitute.h90" 41 42 !!---------------------------------------------------------------------- 42 43 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 93 94 ! OA: Warning, the following part is necessary to avoid CFL problems above the sediments 94 95 ! -------------------------------------------------------------------- 95 DO_2D _11_1196 DO_2D( 1, 1, 1, 1 ) 96 97 ikt = mbkt(ji,jj) 97 98 zdep = e3t(ji,jj,ikt,Kmm) / xstep … … 103 104 ! Computation of the fraction of organic matter that is permanently buried from Dunne's model 104 105 ! ------------------------------------------------------- 105 DO_2D _11_11106 DO_2D( 1, 1, 1, 1 ) 106 107 IF( tmask(ji,jj,1) == 1 ) THEN 107 108 ikt = mbkt(ji,jj) … … 129 130 IF( .NOT.lk_sed ) zrivsil = 1._wp - sedsilfrac 130 131 131 DO_2D _11_11132 DO_2D( 1, 1, 1, 1 ) 132 133 ikt = mbkt(ji,jj) 133 134 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 141 142 ! 142 143 IF( .NOT.lk_sed ) THEN 143 DO_2D _11_11144 DO_2D( 1, 1, 1, 1 ) 144 145 ikt = mbkt(ji,jj) 145 146 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 159 160 ENDIF 160 161 ! 161 DO_2D _11_11162 DO_2D( 1, 1, 1, 1 ) 162 163 ikt = mbkt(ji,jj) 163 164 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 171 172 ! 172 173 IF( ln_p5z ) THEN 173 DO_2D _11_11174 DO_2D( 1, 1, 1, 1 ) 174 175 ikt = mbkt(ji,jj) 175 176 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 186 187 ! The 0.5 factor in zpdenit is to avoid negative NO3 concentration after 187 188 ! denitrification in the sediments. Not very clever, but simpliest option. 188 DO_2D _11_11189 DO_2D( 1, 1, 1, 1 ) 189 190 ikt = mbkt(ji,jj) 190 191 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 223 224 ENDDO 224 225 IF( ln_p4z ) THEN 225 DO_3D _11_11(1, jpkm1 )226 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 226 227 ! ! Potential nitrogen fixation dependant on temperature and iron 227 228 ztemp = ts(ji,jj,jk,jp_tem,Kmm) … … 239 240 END_3D 240 241 ELSE ! p5z 241 DO_3D _11_11(1, jpkm1 )242 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 242 243 ! ! Potential nitrogen fixation dependant on temperature and iron 243 244 ztemp = ts(ji,jj,jk,jp_tem,Kmm) … … 260 261 ! ---------------------------------------- 261 262 IF( ln_p4z ) THEN 262 DO_3D _11_11(1, jpkm1 )263 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 263 264 zfact = nitrpot(ji,jj,jk) * nitrfix 264 265 tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 … … 277 278 END_3D 278 279 ELSE ! p5z 279 DO_3D _11_11(1, jpkm1 )280 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 280 281 zfact = nitrpot(ji,jj,jk) * nitrfix 281 282 tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 … … 312 313 ENDIF 313 314 ! 314 IF(sn_cfctl%l_prttrc) THEN ! print mean tr ends (USEd for debugging)315 IF(sn_cfctl%l_prttrc) THEN ! print mean trneds (USEd for debugging) 315 316 WRITE(charout, fmt="('sed ')") 316 CALL prt_ctl_ trc_info(charout)317 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)317 CALL prt_ctl_info( charout, cdcomp = 'top' ) 318 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 318 319 ENDIF 319 320 ! … … 365 366 lk_sed = ln_sediment .AND. ln_sed_2way 366 367 ! 368 nitrpot(:,:,jpk) = 0._wp ! define last level for iom_put 369 ! 367 370 END SUBROUTINE p4z_sed_init 368 371 -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zsink.F90
r12377 r13710 17 17 USE sms_pisces ! PISCES Source Minus Sink variables 18 18 USE trcsink ! General routine to compute sedimentation 19 USE prtctl _trc! print control for debugging19 USE prtctl ! print control for debugging 20 20 USE iom ! I/O manager 21 21 USE lib_mpp … … 40 40 !! * Substitutions 41 41 # include "do_loop_substitute.h90" 42 # include "domzgr_substitute.h90" 42 43 !!---------------------------------------------------------------------- 43 44 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 80 81 ! by data and from the coagulation theory 81 82 ! ----------------------------------------------------------- 82 DO_3D _11_11(1, jpkm1 )83 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 83 84 zmax = MAX( heup_01(ji,jj), hmld(ji,jj) ) 84 85 zfact = MAX( 0., gdepw(ji,jj,jk+1,Kmm) - zmax ) / wsbio2scale … … 143 144 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 144 145 WRITE(charout, FMT="('sink')") 145 CALL prt_ctl_ trc_info(charout)146 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)146 CALL prt_ctl_info( charout, cdcomp = 'top' ) 147 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 147 148 ENDIF 148 149 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zsms.F90
r12489 r13710 25 25 USE trdtrc ! TOP trends variables 26 26 USE sedmodel ! Sediment model 27 USE prtctl _trc! print control for debugging27 USE prtctl ! print control for debugging 28 28 29 29 IMPLICIT NONE … … 41 41 !! * Substitutions 42 42 # include "do_loop_substitute.h90" 43 # include "domzgr_substitute.h90" 43 44 !!---------------------------------------------------------------------- 44 45 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 68 69 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: zw2d 69 70 REAL(wp), ALLOCATABLE, DIMENSION(:,:,: ) :: zw3d 70 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztrdt ! 4D workspace71 REAL(wp), DIMENSION(jpi,jpj,jpk,jp_pisces) :: ztrbbio 71 72 72 73 !!--------------------------------------------------------------------- … … 92 93 rfact = rDt_trc 93 94 ! 94 ! trends computation initialisation95 IF( l_trdtrc ) THEN96 ALLOCATE( ztrdt(jpi,jpj,jpk,jp_pisces) ) !* store now fields before applying the Asselin filter97 ztrdt(:,:,:,:) = tr(:,:,:,:,Kmm)98 ENDIF99 !100 101 95 IF( ( ln_top_euler .AND. kt == nittrc000 ) .OR. ( .NOT.ln_top_euler .AND. kt <= nittrc000 + 1 ) ) THEN 102 96 rfactr = 1. / rfact … … 116 110 END DO 117 111 ENDIF 112 113 DO jn = jp_pcs0, jp_pcs1 ! Store the tracer concentrations before entering PISCES 114 ztrbbio(:,:,:,jn) = tr(:,:,:,jn,Kbb) 115 END DO 116 118 117 ! 119 118 IF( ll_bc ) CALL p4z_bc( kt, Kbb, Kmm, Krhs ) ! external sources of nutrients … … 132 131 xnegtr(:,:,:) = 1.e0 133 132 DO jn = jp_pcs0, jp_pcs1 134 DO_3D _11_11(1, jpk )133 DO_3D( 1, 1, 1, 1, 1, jpk ) 135 134 IF( ( tr(ji,jj,jk,jn,Kbb) + tr(ji,jj,jk,jn,Krhs) ) < 0.e0 ) THEN 136 135 ztra = ABS( tr(ji,jj,jk,jn,Kbb) ) / ( ABS( tr(ji,jj,jk,jn,Krhs) ) + rtrn ) … … 197 196 END DO 198 197 ! 199 IF( ln_top_euler ) THEN 200 DO jn = jp_pcs0, jp_pcs1 201 tr(:,:,:,jn,Kmm) = tr(:,:,:,jn,Kbb) 202 END DO 203 ENDIF 198 END DO 199 ! 200 #endif 201 ! 202 IF( ln_sediment ) THEN 203 ! 204 CALL sed_model( kt, Kbb, Kmm, Krhs ) ! Main program of Sediment model 205 ! 206 ENDIF 207 ! 208 DO jn = jp_pcs0, jp_pcs1 209 tr(:,:,:,jn,Krhs) = ( tr(:,:,:,jn,Kbb) - ztrbbio(:,:,:,jn) ) * rfactr 210 tr(:,:,:,jn,Kbb ) = ztrbbio(:,:,:,jn) 211 ztrbbio(:,:,:,jn) = 0._wp 204 212 END DO 205 213 ! 206 214 IF( l_trdtrc ) THEN 207 215 DO jn = jp_pcs0, jp_pcs1 208 ztrdt(:,:,:,jn) = ( tr(:,:,:,jn,Kbb) - ztrdt(:,:,:,jn) ) * rfact2r209 216 CALL trd_trc( tr(:,:,:,jn,Krhs), jn, jptra_sms, kt, Kmm ) ! save trends 210 217 END DO 211 DEALLOCATE( ztrdt )212 218 END IF 213 #endif 214 ! 215 IF( ln_sediment ) THEN 216 ! 217 CALL sed_model( kt, Kbb, Kmm, Krhs ) ! Main program of Sediment model 218 ! 219 IF( ln_top_euler ) THEN 220 DO jn = jp_pcs0, jp_pcs1 221 tr(:,:,:,jn,Kmm) = tr(:,:,:,jn,Kbb) 222 END DO 223 ENDIF 224 ! 225 ENDIF 226 ! 219 ! 227 220 IF( lrst_trc ) CALL p4z_rst( kt, Kbb, Kmm, 'WRITE' ) !* Write PISCES informations in restart file 228 221 ! … … 340 333 ! 341 334 IF( iom_varid( numrtr, 'PH', ldstop = .FALSE. ) > 0 ) THEN 342 CALL iom_get( numrtr, jpdom_auto glo, 'PH' , hi(:,:,:) )335 CALL iom_get( numrtr, jpdom_auto, 'PH' , hi(:,:,:) ) 343 336 ELSE 344 337 CALL p4z_che( Kbb, Kmm ) ! initialize the chemical constants 345 338 CALL ahini_for_at( hi, Kbb ) 346 339 ENDIF 347 CALL iom_get( numrtr, jpdom_auto glo, 'Silicalim', xksi(:,:) )340 CALL iom_get( numrtr, jpdom_auto, 'Silicalim', xksi(:,:) ) 348 341 IF( iom_varid( numrtr, 'Silicamax', ldstop = .FALSE. ) > 0 ) THEN 349 CALL iom_get( numrtr, jpdom_auto glo, 'Silicamax' , xksimax(:,:) )342 CALL iom_get( numrtr, jpdom_auto, 'Silicamax' , xksimax(:,:) ) 350 343 ELSE 351 344 xksimax(:,:) = xksi(:,:) … … 360 353 IF( ln_p5z ) THEN 361 354 IF( iom_varid( numrtr, 'sized', ldstop = .FALSE. ) > 0 ) THEN 362 CALL iom_get( numrtr, jpdom_auto glo, 'sizep' , sizep(:,:,:) )363 CALL iom_get( numrtr, jpdom_auto glo, 'sizen' , sizen(:,:,:) )364 CALL iom_get( numrtr, jpdom_auto glo, 'sized' , sized(:,:,:) )355 CALL iom_get( numrtr, jpdom_auto, 'sizep' , sizep(:,:,:) ) 356 CALL iom_get( numrtr, jpdom_auto, 'sizen' , sizen(:,:,:) ) 357 CALL iom_get( numrtr, jpdom_auto, 'sized' , sized(:,:,:) ) 365 358 ELSE 366 359 sizep(:,:,:) = 1. -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zlim.F90
r12377 r13710 131 131 zratchl = 6.0 132 132 ! 133 DO_3D _11_11(1, jpkm1 )133 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 134 134 ! 135 135 ! Tuning of the iron concentration to a minimum level that is set to the detection limit … … 306 306 & / (xqndmax(ji,jj,jk) - 2. * xqndmin(ji,jj,jk) ) ) & 307 307 & * xqndmax(ji,jj,jk) / (zration + rtrn) 308 zlim3 = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) )308 zlim3 = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) + rtrn ) 309 309 zlim4 = MAX( 0., ( zratiof - zqfemd ) / qfdopt ) 310 310 xlimdfe(ji,jj,jk) = MIN( 1., zlim4 ) … … 318 318 ! phytoplankton (see Daines et al., 2013). 319 319 ! -------------------------------------------------------------------------------------------------- 320 DO_3D _11_11(1, jpkm1 )320 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 321 321 ! Size estimation of nanophytoplankton 322 322 ! ------------------------------------ … … 367 367 ! Compute the fraction of nanophytoplankton that is made of calcifiers 368 368 ! -------------------------------------------------------------------- 369 DO_3D _11_11(1, jpkm1 )369 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 370 370 zlim1 = tr(ji,jj,jk,jpnh4,Kbb) / ( tr(ji,jj,jk,jpnh4,Kbb) + concnnh4 ) + tr(ji,jj,jk,jpno3,Kbb) & 371 371 & / ( tr(ji,jj,jk,jpno3,Kbb) + concnno3 ) * ( 1.0 - tr(ji,jj,jk,jpnh4,Kbb) & … … 385 385 END_3D 386 386 ! 387 DO_3D _11_11(1, jpkm1 )387 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 388 388 ! denitrification factor computed from O2 levels 389 389 nitrfac(ji,jj,jk) = MAX( 0.e0, 0.4 * ( 6.e-6 - tr(ji,jj,jk,jpoxy,Kbb) ) & -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zmeso.F90
r12377 r13710 15 15 USE trc ! passive tracers common variables 16 16 USE sms_pisces ! PISCES Source Minus Sink variables 17 USE prtctl _trc! print control for debugging17 USE prtctl ! print control for debugging 18 18 USE iom ! I/O manager 19 19 … … 98 98 IF ( bmetexc2 ) zmetexcess = 1.0 99 99 100 DO_3D _11_11(1, jpkm1 )100 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 101 101 zcompam = MAX( ( tr(ji,jj,jk,jpmes,Kbb) - 1.e-9 ), 0.e0 ) 102 102 zfact = xstep * tgfunc2(ji,jj,jk) * zcompam … … 359 359 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 360 360 WRITE(charout, FMT="('meso')") 361 CALL prt_ctl_ trc_info(charout)362 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)361 CALL prt_ctl_info( charout, cdcomp = 'top' ) 362 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 363 363 ENDIF 364 364 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zmicro.F90
r12377 r13710 18 18 USE p5zlim ! Phytoplankton limitation terms 19 19 USE iom ! I/O manager 20 USE prtctl _trc! print control for debugging20 USE prtctl ! print control for debugging 21 21 22 22 IMPLICIT NONE … … 96 96 IF ( bmetexc ) zmetexcess = 1.0 97 97 ! 98 DO_3D _11_11(1, jpkm1 )98 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 99 99 zcompaz = MAX( ( tr(ji,jj,jk,jpzoo,Kbb) - 1.e-9 ), 0.e0 ) 100 100 zfact = xstep * tgfunc2(ji,jj,jk) * zcompaz … … 306 306 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 307 307 WRITE(charout, FMT="('micro')") 308 CALL prt_ctl_ trc_info(charout)309 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)308 CALL prt_ctl_info( charout, cdcomp = 'top' ) 309 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 310 310 ENDIF 311 311 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zmort.F90
r12377 r13710 16 16 USE p4zlim 17 17 USE p5zlim ! Phytoplankton limitation terms 18 USE prtctl _trc! print control for debugging18 USE prtctl ! print control for debugging 19 19 20 20 IMPLICIT NONE … … 82 82 ! 83 83 prodcal(:,:,:) = 0. !: calcite production variable set to zero 84 DO_3D _11_11(1, jpkm1 )84 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 85 85 zcompaph = MAX( ( tr(ji,jj,jk,jpphy,Kbb) - 1e-9 ), 0.e0 ) 86 86 ! Squared mortality of Phyto similar to a sedimentation term during … … 121 121 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 122 122 WRITE(charout, FMT="('nano')") 123 CALL prt_ctl_ trc_info(charout)124 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)123 CALL prt_ctl_info( charout, cdcomp = 'top' ) 124 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 125 125 ENDIF 126 126 ! … … 148 148 IF( ln_timing ) CALL timing_start('p5z_pico') 149 149 ! 150 DO_3D _11_11(1, jpkm1 )150 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 151 151 zcompaph = MAX( ( tr(ji,jj,jk,jppic,Kbb) - 1e-9 ), 0.e0 ) 152 152 ! Squared mortality of Phyto similar to a sedimentation term during … … 179 179 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 180 180 WRITE(charout, FMT="('pico')") 181 CALL prt_ctl_ trc_info(charout)182 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)181 CALL prt_ctl_info( charout, cdcomp = 'top' ) 182 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 183 183 ENDIF 184 184 ! … … 207 207 ! 208 208 209 DO_3D _11_11(1, jpkm1 )209 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 210 210 211 211 zcompadi = MAX( ( tr(ji,jj,jk,jpdia,Kbb) - 1E-9), 0. ) … … 254 254 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 255 255 WRITE(charout, FMT="('diat')") 256 CALL prt_ctl_ trc_info(charout)257 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)256 CALL prt_ctl_info( charout, cdcomp = 'top' ) 257 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 258 258 ENDIF 259 259 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zprod.F90
r12377 r13710 18 18 USE p4zlim 19 19 USE p5zlim ! Co-limitations of differents nutrients 20 USE prtctl _trc! print control for debugging20 USE prtctl ! print control for debugging 21 21 USE iom ! I/O manager 22 22 … … 52 52 !! * Substitutions 53 53 # include "do_loop_substitute.h90" 54 # include "domzgr_substitute.h90" 54 55 !!---------------------------------------------------------------------- 55 56 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 124 125 ! day length in hours 125 126 zstrn(:,:) = 0. 126 DO_2D _11_11127 DO_2D( 1, 1, 1, 1 ) 127 128 zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 128 129 zargu = MAX( -1., MIN( 1., zargu ) ) … … 131 132 132 133 ! Impact of the day duration on phytoplankton growth 133 DO_3D _11_11(1, jpkm1 )134 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 134 135 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 135 136 zval = MAX( 1., zstrn(ji,jj) ) … … 151 152 WHERE( zstrn(:,:) < 1.e0 ) zstrn(:,:) = 24. 152 153 153 DO_3D _11_11(1, jpkm1 )154 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 154 155 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 155 156 ! Computation of the P-I slope for nanos and diatoms … … 185 186 END_3D 186 187 187 DO_3D _11_11(1, jpkm1 )188 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 188 189 189 190 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN … … 207 208 208 209 ! Sea-ice effect on production 209 DO_3D _11_11(1, jpkm1 )210 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 210 211 zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 211 212 zprpic(ji,jj,jk) = zprpic(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) … … 215 216 216 217 ! Computation of the various production terms of nanophytoplankton 217 DO_3D _11_11(1, jpkm1 )218 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 218 219 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 219 220 ! production terms for nanophyto. … … 248 249 249 250 ! Computation of the various production terms of picophytoplankton 250 DO_3D _11_11(1, jpkm1 )251 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 251 252 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 252 253 ! production terms for picophyto. … … 281 282 282 283 ! Computation of the various production terms of diatoms 283 DO_3D _11_11(1, jpkm1 )284 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 284 285 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 285 286 ! production terms for diatomees … … 315 316 END_3D 316 317 317 DO_3D _11_11(1, jpkm1 )318 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 318 319 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 319 320 ! production terms for nanophyto. ( chlorophyll ) … … 346 347 347 348 ! Update the arrays TRA which contain the biological sources and sinks 348 DO_3D _11_11(1, jpkm1 )349 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 349 350 zprontot = zpronewn(ji,jj,jk) + zproregn(ji,jj,jk) 350 351 zproptot = zpronewp(ji,jj,jk) + zproregp(ji,jj,jk) … … 409 410 IF( ln_ligand ) THEN 410 411 zpligprod1(:,:,:) = 0._wp ; zpligprod2(:,:,:) = 0._wp 411 DO_3D _11_11(1, jpkm1 )412 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 412 413 zdocprod = excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk) + excretp * zprorcap(ji,jj,jk) 413 414 zfeup = texcretn * zprofen(ji,jj,jk) + texcretd * zprofed(ji,jj,jk) + texcretp * zprofep(ji,jj,jk) … … 460 461 IF(sn_cfctl%l_prttrc) THEN ! print mean trends (used for debugging) 461 462 WRITE(charout, FMT="('prod')") 462 CALL prt_ctl_ trc_info(charout)463 CALL prt_ctl _trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm)463 CALL prt_ctl_info( charout, cdcomp = 'top' ) 464 CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 464 465 ENDIF 465 466 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/oce_sed.F90
r12489 r13710 13 13 USE dom_oce , ONLY : glamt => glamt !: longitude of t-point (degre) 14 14 USE dom_oce , ONLY : gphit => gphit !: latitude of t-point (degre) 15 !!st 16 #if ! defined key_qco 15 17 USE dom_oce , ONLY : e3t => e3t !: latitude of t-point (degre) 18 #endif 16 19 USE dom_oce , ONLY : e3t_1d => e3t_1d !: reference depth of t-points (m) 17 20 USE dom_oce , ONLY : gdepw_0 => gdepw_0 !: reference depth of t-points (m) … … 53 56 54 57 END MODULE oce_sed 55 56 -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedchem.F90
r12377 r13710 138 138 CALL sed_chem_cst 139 139 ELSE 140 DO_2D _11_11140 DO_2D( 1, 1, 1, 1 ) 141 141 ikt = mbkt(ji,jj) 142 142 IF ( tmask(ji,jj,ikt) == 1 ) THEN … … 577 577 saltprac(:) = salt(:) * 35.0 / 35.16504 578 578 ELSE 579 saltprac(:) = temp(:)579 saltprac(:) = salt(:) 580 580 ENDIF 581 581 -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/seddta.F90
r12489 r13710 24 24 !! * Substitutions 25 25 # include "do_loop_substitute.h90" 26 # include "domzgr_substitute.h90" 26 27 !! $Id$ 27 28 CONTAINS … … 95 96 ! ----------------------------------------------------------- 96 97 IF (ln_sediment_offline) THEN 97 DO_2D _11_1198 DO_2D( 1, 1, 1, 1 ) 98 99 ikt = mbkt(ji,jj) 99 100 zwsbio4(ji,jj) = wsbio2 / rday … … 101 102 END_2D 102 103 ELSE 103 DO_2D _11_11104 DO_2D( 1, 1, 1, 1 ) 104 105 ikt = mbkt(ji,jj) 105 106 zdep = e3t(ji,jj,ikt,Kmm) / rDt_trc … … 110 111 111 112 trc_data(:,:,:) = 0. 112 DO_2D _11_11113 DO_2D( 1, 1, 1, 1 ) 113 114 ikt = mbkt(ji,jj) 114 115 IF ( tmask(ji,jj,ikt) == 1 ) THEN … … 164 165 CALL pack_arr ( jpoce, rainrm_dta(1:jpoce,jscal), trc_data(1:jpi,1:jpj,14), iarroce(1:jpoce) ) 165 166 rainrm_dta(1:jpoce,jscal) = rainrm_dta(1:jpoce,jscal) * 1e-4 166 ! vector temperature [ °C] and salinity167 ! vector temperature [�C] and salinity 167 168 CALL pack_arr ( jpoce, temp(1:jpoce), trc_data(1:jpi,1:jpj,15), iarroce(1:jpoce) ) 168 169 CALL pack_arr ( jpoce, salt(1:jpoce), trc_data(1:jpi,1:jpj,16), iarroce(1:jpoce) ) -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedini.F90
r12489 r13710 135 135 ! Determination of sediments number of points and allocate global variables 136 136 epkbot(:,:) = 0. 137 DO_2D _11_11137 DO_2D( 1, 1, 1, 1 ) 138 138 ikt = mbkt(ji,jj) 139 139 IF( tmask(ji,jj,ikt) == 1 ) epkbot(ji,jj) = e3t_1d(ikt) … … 247 247 ! Computation of 1D array of sediments points 248 248 indoce = 0 249 DO_2D _11_11249 DO_2D( 1, 1, 1, 1 ) 250 250 IF ( epkbot(ji,jj) > 0. ) THEN 251 251 indoce = indoce + 1 -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedinorg.F90
r10225 r13710 89 89 zsolcpcl = zsolcpcl + solcp(ji,jk,jsclay) * dz(jk) 90 90 END DO 91 zsolcpsi = MAX( zsolcpsi, rtrn ) 91 92 zsieq(ji) = sieqs(ji) * MAX(0.25, 1.0 - (0.045 * zsolcpcl / zsolcpsi )**0.58 ) 92 93 zsieq(ji) = MAX( rtrn, sieqs(ji) ) -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedrst.F90
r12649 r13710 123 123 cltra = TRIM(sedtrcd(jn)) 124 124 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 125 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta(:,:,:,jn) )125 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta(:,:,:,jn) ) 126 126 ELSE 127 127 zdta(:,:,:,jn) = 0.0 … … 142 142 cltra = TRIM(seddia3d(jn)) 143 143 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 144 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta1(:,:,:,jn) )144 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta1(:,:,:,jn) ) 145 145 ELSE 146 146 zdta1(:,:,:,jn) = 0.0 … … 169 169 cltra = "dbioturb" 170 170 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 171 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta2(:,:,:) )171 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 172 172 ELSE 173 173 zdta2(:,:,:) = 0.0 … … 179 179 cltra = "irrig" 180 180 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 181 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta2(:,:,:) )181 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 182 182 ELSE 183 183 zdta2(:,:,:) = 0.0 … … 189 189 cltra = "sedligand" 190 190 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 191 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta2(:,:,:) )191 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 192 192 ELSE 193 193 zdta2(:,:,:) = 0.0 -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedsfc.F90
r12377 r13710 48 48 49 49 50 DO_2D _11_1150 DO_2D( 1, 1, 1, 1 ) 51 51 ikt = mbkt(ji,jj) 52 52 IF ( tmask(ji,jj,ikt) == 1 ) THEN -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/trcdmp_sed.F90
r12377 r13710 21 21 USE trc ! ocean passive tracers variables 22 22 USE trcdta 23 USE prtctl _trc! Print control for debbuging23 USE prtctl ! Print control for debbuging 24 24 USE iom 25 25 … … 93 93 CALL trc_dta( kt, Kmm, sf_trcdta(jl), rf_trfac(jl), ztrcdta ) ! read tracer data at nit000 94 94 ! 95 DO_2D _11_1195 DO_2D( 1, 1, 1, 1 ) 96 96 ikt = mbkt(ji,jj) 97 97 tr(ji,jj,ikt,jn,Kbb) = ztrcdta(ji,jj,ikt) + ( tr(ji,jj,ikt,jn,Kbb) - ztrcdta(ji,jj,ikt) ) & … … 107 107 IF( sn_cfctl%l_prttrc ) THEN 108 108 WRITE(charout, FMT="('dmp ')") 109 CALL prt_ctl_ trc_info(charout)110 CALL prt_ctl _trc( tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm, clinfo2='trd' )109 CALL prt_ctl_info( charout, cdcomp = 'top' ) 110 CALL prt_ctl( tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm, clinfo3='trd' ) 111 111 ENDIF 112 112 ! -
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/trcwri_pisces.F90
r12377 r13710 21 21 !! * Substitutions 22 22 # include "do_loop_substitute.h90" 23 # include "domzgr_substitute.h90" 23 24 !!---------------------------------------------------------------------- 24 25 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 68 69 zo2min (:,:) = tr(:,:,1,jpoxy,Kmm) * tmask(:,:,1) 69 70 zdepo2min(:,:) = gdepw(:,:,1,Kmm) * tmask(:,:,1) 70 DO_3D _11_11(2, jpkm1 )71 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 71 72 IF( tmask(ji,jj,jk) == 1 ) then 72 73 IF( tr(ji,jj,jk,jpoxy,Kmm) < zo2min(ji,jj) ) then
Note: See TracChangeset
for help on using the changeset viewer.