Changeset 13295 for NEMO/trunk/src/TOP
- Timestamp:
- 2020-07-10T20:24:21+02:00 (4 years ago)
- Location:
- NEMO/trunk/src/TOP
- Files:
-
- 48 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/TOP/C14/trcatm_c14.F90
r12489 r13295 120 120 IF( ierr3 /= 0 ) CALL ctl_stop( 'STOP', 'trc_atm_c14_ini: unable to allocate fareaz' ) 121 121 ! 122 DO_2D _11_11122 DO_2D( 1, 1, 1, 1 ) 123 123 IF( gphit(ji,jj) >= yn40 ) THEN 124 124 fareaz(ji,jj,1) = 0. -
NEMO/trunk/src/TOP/C14/trcsms_c14.F90
r13237 r13295 81 81 ! ------------------------------------------------------------------- 82 82 83 DO_2D _11_1183 DO_2D( 1, 1, 1, 1 ) 84 84 IF( tmask(ji,jj,1) > 0. ) THEN 85 85 ! … … 128 128 ! 129 129 ! Add the surface flux to the trend of jp_c14 130 DO_2D _11_11130 DO_2D( 1, 1, 1, 1 ) 131 131 tr(ji,jj,1,jp_c14,Krhs) = tr(ji,jj,1,jp_c14,Krhs) + qtr_c14(ji,jj) / e3t(ji,jj,1,Kmm) 132 132 END_2D 133 133 ! 134 134 ! Computation of decay effects on jp_c14 135 DO_3D _11_11(1, jpk )135 DO_3D( 1, 1, 1, 1, 1, jpk ) 136 136 ! 137 137 tr(ji,jj,jk,jp_c14,Krhs) = tr(ji,jj,jk,jp_c14,Krhs) - rlam14 * tr(ji,jj,jk,jp_c14,Kbb) * tmask(ji,jj,jk) -
NEMO/trunk/src/TOP/C14/trcwri_c14.F90
r12377 r13295 60 60 zz3d(:,:,:) = 0._wp 61 61 ! 62 DO_3D _11_11(1, jpkm1 )62 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 63 63 IF( tmask(ji,jj,jk) > 0._wp) THEN 64 64 z3d (ji,jj,jk) = tr(ji,jj,jk,jp_c14,Kmm) … … 71 71 z2d(:,:) =0._wp 72 72 jk = 1 73 DO_2D _11_1173 DO_2D( 1, 1, 1, 1 ) 74 74 ztemp = zres(ji,jj) / c14sbc(ji,jj) 75 75 IF( ztemp > 0._wp .AND. tmask(ji,jj,jk) > 0._wp ) z2d(ji,jj) = LOG( ztemp ) -
NEMO/trunk/src/TOP/CFC/trcini_cfc.F90
r12377 r13295 132 132 !--------------------------------------------------------------------------------------- 133 133 zyd = ylatn - ylats 134 DO_2D _11_11134 DO_2D( 1, 1, 1, 1 ) 135 135 IF( gphit(ji,jj) >= ylatn ) THEN ; xphem(ji,jj) = 1.e0 136 136 ELSEIF( gphit(ji,jj) <= ylats ) THEN ; xphem(ji,jj) = 0.e0 -
NEMO/trunk/src/TOP/CFC/trcsms_cfc.F90
r13286 r13295 126 126 127 127 ! !------------! 128 DO_2D _11_11128 DO_2D( 1, 1, 1, 1 ) 129 129 130 130 ! space interpolation -
NEMO/trunk/src/TOP/PISCES/P2Z/p2zbio.F90
r13286 r13295 122 122 DO jk = 1, jpkbm1 ! Upper ocean (bio-layers) ! 123 123 ! ! -------------------------- ! 124 DO_2D _00_00124 DO_2D( 0, 0, 0, 0 ) 125 125 ! trophic variables( det, zoo, phy, no3, nh4, dom) 126 126 ! ------------------------------------------------ … … 242 242 DO jk = jpkb, jpkm1 ! Upper ocean (bio-layers) ! 243 243 ! ! -------------------------- ! 244 DO_2D _00_00244 DO_2D( 0, 0, 0, 0 ) 245 245 ! remineralisation of all quantities towards nitrate 246 246 -
NEMO/trunk/src/TOP/PISCES/P2Z/p2zexp.F90
r13286 r13295 82 82 ! LAYERS IS DETERMINED BY DMIN3 DEFINED IN sms_p2z.F90 83 83 ! ---------------------------------------------------------------------- 84 DO_3D _00_00(1, jpkm1 )84 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 85 85 ze3t = 1. / e3t(ji,jj,jk,Kmm) 86 86 tr(ji,jj,jk,jpno3,Krhs) = tr(ji,jj,jk,jpno3,Krhs) + ze3t * dmin3(ji,jj,jk) * xksi(ji,jj) … … 93 93 zgeolpoc = 0.e0 ! Initialization 94 94 ! Release of nutrients from the "simple" sediment 95 DO_2D _00_0095 DO_2D( 0, 0, 0, 0 ) 96 96 ikt = mbkt(ji,jj) 97 97 tr(ji,jj,ikt,jpno3,Krhs) = tr(ji,jj,ikt,jpno3,Krhs) + sedlam * sedpocn(ji,jj) / e3t(ji,jj,ikt,Kmm) … … 103 103 END_2D 104 104 105 DO_2D _00_00105 DO_2D( 0, 0, 0, 0 ) 106 106 tr(ji,jj,1,jpno3,Krhs) = tr(ji,jj,1,jpno3,Krhs) + zgeolpoc * cmask(ji,jj) / areacot / e3t(ji,jj,1,Kmm) 107 107 END_2D … … 121 121 ELSE 122 122 ! 123 DO_2D _11_11123 DO_2D( 1, 1, 1, 1 ) 124 124 zsedpocd = zsedpoca(ji,jj) - 2. * sedpocn(ji,jj) + sedpocb(ji,jj) ! time laplacian on tracers 125 125 sedpocb(ji,jj) = sedpocn(ji,jj) + rn_atfp * zsedpocd ! sedpocb <-- filtered sedpocn … … 174 174 zdm0 = 0._wp 175 175 zrro = 1._wp 176 DO_3D _11_11(jpkb, jpkm1 )176 DO_3D( 1, 1, 1, 1, jpkb, jpkm1 ) 177 177 zfluo = ( gdepw(ji,jj,jk ,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr 178 178 zfluu = ( gdepw(ji,jj,jk+1,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr … … 191 191 dminl(:,:) = 0._wp 192 192 dmin3(:,:,:) = zdm0 193 DO_3D _11_11(1, jpk )193 DO_3D( 1, 1, 1, 1, 1, jpk ) 194 194 IF( tmask(ji,jj,jk) == 0._wp ) THEN 195 195 dminl(ji,jj) = dminl(ji,jj) + dmin3(ji,jj,jk) … … 198 198 END_3D 199 199 200 DO_2D _11_11200 DO_2D( 1, 1, 1, 1 ) 201 201 IF( tmask(ji,jj,1) == 0 ) dmin3(ji,jj,1) = 0._wp 202 202 END_2D … … 204 204 ! Coastal mask 205 205 cmask(:,:) = 0._wp 206 DO_2D _00_00206 DO_2D( 0, 0, 0, 0 ) 207 207 IF( tmask(ji,jj,1) /= 0. ) THEN 208 208 zmaskt = tmask(ji+1,jj,1) * tmask(ji-1,jj,1) * tmask(ji,jj+1,1) * tmask(ji,jj-1,1) -
NEMO/trunk/src/TOP/PISCES/P2Z/p2zopt.F90
r13286 r13295 95 95 ! ! Photosynthetically Available Radiation (PAR) 96 96 zcoef = 12 * redf / rcchl / rpig ! -------------------------------------- 97 DO_3D _11_11(2, jpk )97 DO_3D( 1, 1, 1, 1, 2, jpk ) 98 98 zpig = LOG( MAX( TINY(0.), tr(ji,jj,jk-1,jpphy,Kmm) ) * zcoef ) 99 99 zkr = xkr0 + xkrp * EXP( xlr * zpig ) … … 102 102 zparg(ji,jj,jk) = zparg(ji,jj,jk-1) * EXP( -zkg * e3t(ji,jj,jk-1,Kmm) ) 103 103 END_3D 104 DO_3D _11_11(1, jpkm1 )104 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 105 105 zpig = LOG( MAX( TINY(0.), tr(ji,jj,jk,jpphy,Kmm) ) * zcoef ) 106 106 zkr = xkr0 + xkrp * EXP( xlr * zpig ) … … 114 114 ! ! -------------- 115 115 neln(:,:) = 1 ! euphotic layer level 116 DO_3D _11_11(1, jpkm1 )116 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 117 117 IF( etot(ji,jj,jk) >= zpar100(ji,jj) ) neln(ji,jj) = jk + 1 118 118 END_3D 119 119 ! ! Euphotic layer depth 120 DO_2D _11_11120 DO_2D( 1, 1, 1, 1 ) 121 121 heup(ji,jj) = gdepw(ji,jj,neln(ji,jj),Kmm) 122 122 END_2D -
NEMO/trunk/src/TOP/PISCES/P2Z/p2zsed.F90
r13286 r13295 89 89 90 90 ! tracer flux divergence at t-point added to the general trend 91 DO_3D _11_11(1, jpkm1 )91 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 92 92 ztra(ji,jj,jk) = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / e3t(ji,jj,jk,Kmm) 93 93 tr(ji,jj,jk,jpdet,Krhs) = tr(ji,jj,jk,jpdet,Krhs) + ztra(ji,jj,jk) -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zagg.F90
r13286 r13295 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) -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zbc.F90
r13286 r13295 112 112 IF( ll_river ) THEN 113 113 jl = n_trc_indcbc(jpno3) 114 DO_2D _11_11114 DO_2D( 1, 1, 1, 1 ) 115 115 DO jk = 1, nk_rnf(ji,jj) 116 116 zcoef = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time ) * tmask(ji,jj,1) … … 145 145 ALLOCATE( zironice(jpi,jpj) ) 146 146 ! 147 DO_2D _11_11147 DO_2D( 1, 1, 1, 1 ) 148 148 zdep = rfact / e3t(ji,jj,1,Kmm) 149 149 zwflux = fmmflx(ji,jj) / 1000._wp … … 297 297 IF(lwp) WRITE(numout,*) 298 298 IF(lwp) WRITE(numout,*) ' Level corresponding to 50m depth ', ik50,' ', gdept_1d(ik50+1) 299 DO_3D _00_00(1, ik50 )299 DO_3D( 0, 0, 0, 0, 1, ik50 ) 300 300 ze3t = e3t_0(ji,jj,jk) 301 301 zsurfc = e1u(ji,jj) * ( 1. - umask(ji ,jj ,jk) ) & … … 313 313 CALL lbc_lnk( 'p4zbc', zcmask , 'T', 1.0_wp ) ! lateral boundary conditions on cmask (sign unchanged) 314 314 ! 315 DO_3D _11_11(1, jpk )315 DO_3D( 1, 1, 1, 1, 1, jpk ) 316 316 zexpide = MIN( 8.,( gdept(ji,jj,jk,Kmm) / 500. )**(-1.5) ) 317 317 zdenitide = -0.9543 + 0.7662 * LOG( zexpide ) - 0.235 * LOG( zexpide )**2 -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zbio.F90
r13286 r13295 72 72 xdiss(:,:,:) = 1. 73 73 !!gm the use of nmld should be better here? 74 DO_3D _11_11(2, jpkm1 )74 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 75 75 !!gm : use nmln and test on jk ... less memory acces 76 76 IF( gdepw(ji,jj,jk+1,Kmm) > hmld(ji,jj) ) xdiss(ji,jj,jk) = 0.01 -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zche.F90
r13237 r13295 179 179 ! 0.04°C relative to an exact computation 180 180 ! --------------------------------------------------------------------- 181 DO_3D _11_11(1, jpk )181 DO_3D( 1, 1, 1, 1, 1, jpk ) 182 182 zpres = gdept(ji,jj,jk,Kmm) / 1000. 183 183 za1 = 0.04 * ( 1.0 + 0.185 * ts(ji,jj,jk,jp_tem,Kmm) + 0.035 * (salinprac(ji,jj,jk) - 35.0) ) … … 472 472 IF( ln_timing ) CALL timing_start('ahini_for_at') 473 473 ! 474 DO_3D _11_11(1, jpk )474 DO_3D( 1, 1, 1, 1, 1, jpk ) 475 475 p_alkcb = tr(ji,jj,jk,jptal,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) 476 476 p_dictot = tr(ji,jj,jk,jpdic,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) … … 570 570 571 571 ! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree 572 DO_3D _11_11(1, jpk )572 DO_3D( 1, 1, 1, 1, 1, jpk ) 573 573 IF (rmask(ji,jj,jk) == 1.) THEN 574 574 p_alktot = tr(ji,jj,jk,jptal,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) … … 599 599 600 600 DO jn = 1, jp_maxniter_atgen 601 DO_3D _11_11(1, jpk )601 DO_3D( 1, 1, 1, 1, 1, jpk ) 602 602 IF (rmask(ji,jj,jk) == 1.) THEN 603 603 zfact = rhop(ji,jj,jk) / 1000. + rtrn -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zfechem.F90
r13286 r13295 92 92 ! Chemistry is supposed to be fast enough to be at equilibrium 93 93 ! ------------------------------------------------------------ 94 DO_3D _11_11(1, jpkm1 )94 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 95 95 zTL1(ji,jj,jk) = ztotlig(ji,jj,jk) 96 96 zkeq = fekeq(ji,jj,jk) … … 107 107 108 108 zdust = 0. ! if no dust available 109 DO_3D _11_11(1, jpkm1 )109 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 110 110 ! Scavenging rate of iron. This scavenging rate depends on the load of particles of sea water. 111 111 ! This parameterization assumes a simple second order kinetics (k[Particles][Fe]). … … 177 177 IF( ln_ligand ) THEN 178 178 ! 179 DO_3D _11_11(1, jpkm1 )179 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 180 180 zlam1a = ( 0.369 * 0.3 * tr(ji,jj,jk,jpdoc,Kbb) + 102.4 * tr(ji,jj,jk,jppoc,Kbb) ) * xdiss(ji,jj,jk) & 181 181 & + ( 114. * 0.3 * tr(ji,jj,jk,jpdoc,Kbb) ) -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zflx.F90
r13286 r13295 110 110 IF( l_co2cpl ) satmco2(:,:) = atm_co2(:,:) 111 111 112 DO_2D _11_11112 DO_2D( 1, 1, 1, 1 ) 113 113 ! DUMMY VARIABLES FOR DIC, H+, AND BORATE 114 114 zfact = rhop(ji,jj,1) / 1000. + rtrn … … 126 126 ! ------------------------------------------- 127 127 128 DO_2D _11_11128 DO_2D( 1, 1, 1, 1 ) 129 129 ztc = MIN( 35., ts(ji,jj,1,jp_tem,Kmm) ) 130 130 ztc2 = ztc * ztc … … 145 145 146 146 147 DO_2D _11_11147 DO_2D( 1, 1, 1, 1 ) 148 148 ztkel = tempis(ji,jj,1) + 273.15 149 149 zsal = salinprac(ji,jj,1) + ( 1.- tmask(ji,jj,1) ) * 35. -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zligand.F90
r13286 r13295 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 ! ------------------------------------------------------------------ -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zlim.F90
r12377 r13295 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 … … 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/trunk/src/TOP/PISCES/P4Z/p4zlys.F90
r13286 r13295 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 -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zmeso.F90
r13286 r13295 81 81 IF( ln_timing ) CALL timing_start('p4z_meso') 82 82 ! 83 DO_3D _11_11(1, jpkm1 )83 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 84 84 zcompam = MAX( ( tr(ji,jj,jk,jpmes,Kbb) - 1.e-9 ), 0.e0 ) 85 85 zfact = xstep * tgfunc2(ji,jj,jk) * zcompam -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zmicro.F90
r13286 r13295 79 79 IF( ln_timing ) CALL timing_start('p4z_micro') 80 80 ! 81 DO_3D _11_11(1, jpkm1 )81 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 82 82 zcompaz = MAX( ( tr(ji,jj,jk,jpzoo,Kbb) - 1.e-9 ), 0.e0 ) 83 83 zfact = xstep * tgfunc2(ji,jj,jk) * zcompaz -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zmort.F90
r13286 r13295 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 … … 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. ) -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zopt.F90
r13286 r13295 89 89 IF( ln_p5z ) zchl3d(:,:,:) = zchl3d(:,:,:) + tr(:,:,:,jppch,Kbb) 90 90 ! 91 DO_3D _11_11(1, jpkm1 )91 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 92 92 zchl = ( zchl3d(ji,jj,jk) + rtrn ) * 1.e6 93 93 zchl = MIN( 10. , MAX( 0.05, zchl ) ) … … 160 160 heup_01(:,:) = gdepw(:,:,2,Kmm) 161 161 162 DO_3D _11_11(2, nksrp )162 DO_3D( 1, 1, 1, 1, 2, nksrp ) 163 163 IF( etot_ndcy(ji,jj,jk) * tmask(ji,jj,jk) >= zqsr100(ji,jj) ) THEN 164 164 neln(ji,jj) = jk+1 ! Euphotic level : 1rst T-level strictly below Euphotic layer … … 178 178 zetmp2 (:,:) = 0.e0 179 179 180 DO_3D _11_11(1, nksrp )180 DO_3D( 1, 1, 1, 1, 1, nksrp ) 181 181 IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 182 182 zetmp1 (ji,jj) = zetmp1 (ji,jj) + etot (ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! remineralisation … … 189 189 zpar(:,:,:) = etot_ndcy(:,:,:) ! diagnostic : PAR with no diurnal cycle 190 190 ! 191 DO_3D _11_11(1, nksrp )191 DO_3D( 1, 1, 1, 1, 1, nksrp ) 192 192 IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 193 193 z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) … … 201 201 zetmp4 (:,:) = 0.e0 202 202 ! 203 DO_3D _11_11(1, nksrp )203 DO_3D( 1, 1, 1, 1, 1, nksrp ) 204 204 IF( gdepw(ji,jj,jk+1,Kmm) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 205 205 zetmp3 (ji,jj) = zetmp3 (ji,jj) + enano (ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! production … … 211 211 ediatm(:,:,:) = ediat(:,:,:) 212 212 ! 213 DO_3D _11_11(1, nksrp )213 DO_3D( 1, 1, 1, 1, 1, nksrp ) 214 214 IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 215 215 z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) … … 221 221 IF( ln_p5z ) THEN 222 222 ALLOCATE( zetmp5(jpi,jpj) ) ; zetmp5 (:,:) = 0.e0 223 DO_3D _11_11(1, nksrp )223 DO_3D( 1, 1, 1, 1, 1, nksrp ) 224 224 IF( gdepw(ji,jj,jk+1,Kmm) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 225 225 zetmp5(ji,jj) = zetmp5 (ji,jj) + epico(ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! production … … 229 229 epicom(:,:,:) = epico(:,:,:) 230 230 ! 231 DO_3D _11_11(1, nksrp )231 DO_3D( 1, 1, 1, 1, 1, nksrp ) 232 232 IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 233 233 z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) … … 302 302 pe3(:,:,1) = zqsr(:,:) * EXP( -0.5 * ekr(:,:,1) ) 303 303 ! 304 DO_3D _11_11(2, nksrp )304 DO_3D( 1, 1, 1, 1, 2, nksrp ) 305 305 pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -0.5 * ( ekb(ji,jj,jk-1) + ekb(ji,jj,jk) ) ) 306 306 pe2(ji,jj,jk) = pe2(ji,jj,jk-1) * EXP( -0.5 * ( ekg(ji,jj,jk-1) + ekg(ji,jj,jk) ) ) -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zpoc.F90
r13286 r13295 107 107 ! ----------------------------------------------------------------------- 108 108 ztremint(:,:,:) = zremigoc(:,:,:) 109 DO_3D _11_11(2, jpkm1 )109 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 110 110 IF (tmask(ji,jj,jk) == 1.) THEN 111 111 zdep = hmld(ji,jj) … … 192 192 193 193 IF( ln_p4z ) THEN 194 DO_3D _11_11(1, jpkm1 )194 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 195 195 ! POC disaggregation by turbulence and bacterial activity. 196 196 ! -------------------------------------------------------- … … 212 212 END_3D 213 213 ELSE 214 DO_3D _11_11(1, jpkm1 )214 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 215 215 ! POC disaggregation by turbulence and bacterial activity. 216 216 ! -------------------------------------------------------- … … 260 260 ! ---------------------------------------------------------------- 261 261 ! 262 DO_3D _11_11(1, jpkm1 )262 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 263 263 zdep = hmld(ji,jj) 264 264 IF (tmask(ji,jj,jk) == 1. .AND. gdept(ji,jj,jk,Kmm) <= zdep ) THEN … … 275 275 ! --------------------------------------------------------------------- 276 276 ztremint(:,:,:) = zremipoc(:,:,:) 277 DO_3D _11_11(1, jpkm1 )277 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 278 278 IF (tmask(ji,jj,jk) == 1.) THEN 279 279 zdep = hmld(ji,jj) … … 310 310 ! ----------------------------------------------------------------------- 311 311 ! 312 DO_3D _11_11(2, jpkm1 )312 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 313 313 IF (tmask(ji,jj,jk) == 1.) THEN 314 314 zdep = hmld(ji,jj) … … 384 384 385 385 IF( ln_p4z ) THEN 386 DO_3D _11_11(1, jpkm1 )386 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 387 387 IF (tmask(ji,jj,jk) == 1.) THEN 388 388 ! POC disaggregation by turbulence and bacterial activity. … … 401 401 END_3D 402 402 ELSE 403 DO_3D _11_11(1, jpkm1 )403 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 404 404 ! POC disaggregation by turbulence and bacterial activity. 405 405 ! -------------------------------------------------------- -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zprod.F90
r13286 r13295 110 110 ! day length in hours 111 111 zstrn(:,:) = 0. 112 DO_2D _11_11112 DO_2D( 1, 1, 1, 1 ) 113 113 zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 114 114 zargu = MAX( -1., MIN( 1., zargu ) ) … … 117 117 118 118 ! Impact of the day duration and light intermittency on phytoplankton growth 119 DO_3D _11_11(1, jpkm1 )119 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 120 120 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 121 121 zval = MAX( 1., zstrn(ji,jj) ) … … 135 135 136 136 ! Computation of the P-I slope for nanos and diatoms 137 DO_3D _11_11(1, jpkm1 )137 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 138 138 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 139 139 ztn = MAX( 0., ts(ji,jj,jk,jp_tem,Kmm) - 15. ) … … 150 150 END_3D 151 151 152 DO_3D _11_11(1, jpkm1 )152 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 153 153 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 154 154 ! Computation of production function for Carbon … … 171 171 ! Computation of a proxy of the N/C ratio 172 172 ! --------------------------------------- 173 DO_3D _11_11(1, jpkm1 )173 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 174 174 zval = MIN( xnanopo4(ji,jj,jk), ( xnanonh4(ji,jj,jk) + xnanono3(ji,jj,jk) ) ) & 175 175 & * zprmaxn(ji,jj,jk) / ( zprbio(ji,jj,jk) + rtrn ) … … 181 181 182 182 183 DO_3D _11_11(1, jpkm1 )183 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 184 184 185 185 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN … … 205 205 ! Sea-ice effect on production 206 206 207 DO_3D _11_11(1, jpkm1 )207 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 208 208 zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 209 209 zprdia(ji,jj,jk) = zprdia(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) … … 211 211 212 212 ! Computation of the various production terms 213 DO_3D _11_11(1, jpkm1 )213 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 214 214 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 215 215 ! production terms for nanophyto. (C) … … 237 237 238 238 ! Computation of the chlorophyll production terms 239 DO_3D _11_11(1, jpkm1 )239 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 240 240 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 241 241 ! production terms for nanophyto. ( chlorophyll ) … … 260 260 261 261 ! Update the arrays TRA which contain the biological sources and sinks 262 DO_3D _11_11(1, jpkm1 )262 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 263 263 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 264 264 zproreg = zprorcan(ji,jj,jk) - zpronewn(ji,jj,jk) … … 288 288 IF( ln_ligand ) THEN 289 289 zpligprod1(:,:,:) = 0._wp ; zpligprod2(:,:,:) = 0._wp 290 DO_3D _11_11(1, jpkm1 )290 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 291 291 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 292 292 zdocprod = excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk) -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zrem.F90
r13286 r13295 89 89 ! that was modeling explicitely bacteria 90 90 ! ------------------------------------------------------- 91 DO_3D _11_11(1, jpkm1 )91 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 92 92 zdep = MAX( hmld(ji,jj), heup(ji,jj) ) 93 93 IF( gdept(ji,jj,jk,Kmm) < zdep ) THEN … … 103 103 104 104 IF( ln_p4z ) THEN 105 DO_3D _11_11(1, jpkm1 )105 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 106 106 ! DOC ammonification. Depends on depth, phytoplankton biomass 107 107 ! and a limitation term which is supposed to be a parameterization of the bacterial activity. … … 134 134 END_3D 135 135 ELSE 136 DO_3D _11_11(1, jpkm1 )136 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 137 137 ! DOC ammonification. Depends on depth, phytoplankton biomass 138 138 ! and a limitation term which is supposed to be a parameterization of the bacterial activity. … … 178 178 179 179 180 DO_3D _11_11(1, jpkm1 )180 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 181 181 ! NH4 nitrification to NO3. Ceased for oxygen concentrations 182 182 ! below 2 umol/L. Inhibited at strong light … … 200 200 ENDIF 201 201 202 DO_3D _11_11(1, jpkm1 )202 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 203 203 204 204 ! Bacterial uptake of iron. No iron is available in DOC. So … … 226 226 ! --------------------------------------------------------------- 227 227 228 DO_3D _11_11(1, jpkm1 )228 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 229 229 zdep = MAX( hmld(ji,jj), heup_01(ji,jj) ) 230 230 zsatur = MAX( rtrn, ( sio3eq(ji,jj,jk) - tr(ji,jj,jk,jpsil,Kbb) ) / ( sio3eq(ji,jj,jk) + rtrn ) ) -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zsed.F90
r13286 r13295 94 94 ! OA: Warning, the following part is necessary to avoid CFL problems above the sediments 95 95 ! -------------------------------------------------------------------- 96 DO_2D _11_1196 DO_2D( 1, 1, 1, 1 ) 97 97 ikt = mbkt(ji,jj) 98 98 zdep = e3t(ji,jj,ikt,Kmm) / xstep … … 104 104 ! Computation of the fraction of organic matter that is permanently buried from Dunne's model 105 105 ! ------------------------------------------------------- 106 DO_2D _11_11106 DO_2D( 1, 1, 1, 1 ) 107 107 IF( tmask(ji,jj,1) == 1 ) THEN 108 108 ikt = mbkt(ji,jj) … … 130 130 IF( .NOT.lk_sed ) zrivsil = 1._wp - sedsilfrac 131 131 132 DO_2D _11_11132 DO_2D( 1, 1, 1, 1 ) 133 133 ikt = mbkt(ji,jj) 134 134 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 142 142 ! 143 143 IF( .NOT.lk_sed ) THEN 144 DO_2D _11_11144 DO_2D( 1, 1, 1, 1 ) 145 145 ikt = mbkt(ji,jj) 146 146 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 160 160 ENDIF 161 161 ! 162 DO_2D _11_11162 DO_2D( 1, 1, 1, 1 ) 163 163 ikt = mbkt(ji,jj) 164 164 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 172 172 ! 173 173 IF( ln_p5z ) THEN 174 DO_2D _11_11174 DO_2D( 1, 1, 1, 1 ) 175 175 ikt = mbkt(ji,jj) 176 176 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 187 187 ! The 0.5 factor in zpdenit is to avoid negative NO3 concentration after 188 188 ! denitrification in the sediments. Not very clever, but simpliest option. 189 DO_2D _11_11189 DO_2D( 1, 1, 1, 1 ) 190 190 ikt = mbkt(ji,jj) 191 191 zdep = xstep / e3t(ji,jj,ikt,Kmm) … … 224 224 ENDDO 225 225 IF( ln_p4z ) THEN 226 DO_3D _11_11(1, jpkm1 )226 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 227 227 ! ! Potential nitrogen fixation dependant on temperature and iron 228 228 ztemp = ts(ji,jj,jk,jp_tem,Kmm) … … 240 240 END_3D 241 241 ELSE ! p5z 242 DO_3D _11_11(1, jpkm1 )242 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 243 243 ! ! Potential nitrogen fixation dependant on temperature and iron 244 244 ztemp = ts(ji,jj,jk,jp_tem,Kmm) … … 261 261 ! ---------------------------------------- 262 262 IF( ln_p4z ) THEN 263 DO_3D _11_11(1, jpkm1 )263 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 264 264 zfact = nitrpot(ji,jj,jk) * nitrfix 265 265 tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 … … 278 278 END_3D 279 279 ELSE ! p5z 280 DO_3D _11_11(1, jpkm1 )280 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 281 281 zfact = nitrpot(ji,jj,jk) * nitrfix 282 282 tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zsink.F90
r13286 r13295 81 81 ! by data and from the coagulation theory 82 82 ! ----------------------------------------------------------- 83 DO_3D _11_11(1, jpkm1 )83 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 84 84 zmax = MAX( heup_01(ji,jj), hmld(ji,jj) ) 85 85 zfact = MAX( 0., gdepw(ji,jj,jk+1,Kmm) - zmax ) / wsbio2scale -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zsms.F90
r13286 r13295 133 133 xnegtr(:,:,:) = 1.e0 134 134 DO jn = jp_pcs0, jp_pcs1 135 DO_3D _11_11(1, jpk )135 DO_3D( 1, 1, 1, 1, 1, jpk ) 136 136 IF( ( tr(ji,jj,jk,jn,Kbb) + tr(ji,jj,jk,jn,Krhs) ) < 0.e0 ) THEN 137 137 ztra = ABS( tr(ji,jj,jk,jn,Kbb) ) / ( ABS( tr(ji,jj,jk,jn,Krhs) ) + rtrn ) -
NEMO/trunk/src/TOP/PISCES/P4Z/p5zlim.F90
r12377 r13295 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 … … 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/trunk/src/TOP/PISCES/P4Z/p5zmeso.F90
r13286 r13295 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 -
NEMO/trunk/src/TOP/PISCES/P4Z/p5zmicro.F90
r13286 r13295 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 -
NEMO/trunk/src/TOP/PISCES/P4Z/p5zmort.F90
r13286 r13295 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 … … 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 … … 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. ) -
NEMO/trunk/src/TOP/PISCES/P4Z/p5zprod.F90
r13286 r13295 125 125 ! day length in hours 126 126 zstrn(:,:) = 0. 127 DO_2D _11_11127 DO_2D( 1, 1, 1, 1 ) 128 128 zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 129 129 zargu = MAX( -1., MIN( 1., zargu ) ) … … 132 132 133 133 ! Impact of the day duration on phytoplankton growth 134 DO_3D _11_11(1, jpkm1 )134 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 135 135 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 136 136 zval = MAX( 1., zstrn(ji,jj) ) … … 152 152 WHERE( zstrn(:,:) < 1.e0 ) zstrn(:,:) = 24. 153 153 154 DO_3D _11_11(1, jpkm1 )154 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 155 155 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 156 156 ! Computation of the P-I slope for nanos and diatoms … … 186 186 END_3D 187 187 188 DO_3D _11_11(1, jpkm1 )188 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 189 189 190 190 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN … … 208 208 209 209 ! Sea-ice effect on production 210 DO_3D _11_11(1, jpkm1 )210 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 211 211 zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 212 212 zprpic(ji,jj,jk) = zprpic(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) … … 216 216 217 217 ! Computation of the various production terms of nanophytoplankton 218 DO_3D _11_11(1, jpkm1 )218 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 219 219 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 220 220 ! production terms for nanophyto. … … 249 249 250 250 ! Computation of the various production terms of picophytoplankton 251 DO_3D _11_11(1, jpkm1 )251 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 252 252 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 253 253 ! production terms for picophyto. … … 282 282 283 283 ! Computation of the various production terms of diatoms 284 DO_3D _11_11(1, jpkm1 )284 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 285 285 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 286 286 ! production terms for diatomees … … 316 316 END_3D 317 317 318 DO_3D _11_11(1, jpkm1 )318 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 319 319 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 320 320 ! production terms for nanophyto. ( chlorophyll ) … … 347 347 348 348 ! Update the arrays TRA which contain the biological sources and sinks 349 DO_3D _11_11(1, jpkm1 )349 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 350 350 zprontot = zpronewn(ji,jj,jk) + zproregn(ji,jj,jk) 351 351 zproptot = zpronewp(ji,jj,jk) + zproregp(ji,jj,jk) … … 410 410 IF( ln_ligand ) THEN 411 411 zpligprod1(:,:,:) = 0._wp ; zpligprod2(:,:,:) = 0._wp 412 DO_3D _11_11(1, jpkm1 )412 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 413 413 zdocprod = excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk) + excretp * zprorcap(ji,jj,jk) 414 414 zfeup = texcretn * zprofen(ji,jj,jk) + texcretd * zprofed(ji,jj,jk) + texcretp * zprofep(ji,jj,jk) -
NEMO/trunk/src/TOP/PISCES/SED/sedchem.F90
r12839 r13295 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 -
NEMO/trunk/src/TOP/PISCES/SED/seddta.F90
r13237 r13295 96 96 ! ----------------------------------------------------------- 97 97 IF (ln_sediment_offline) THEN 98 DO_2D _11_1198 DO_2D( 1, 1, 1, 1 ) 99 99 ikt = mbkt(ji,jj) 100 100 zwsbio4(ji,jj) = wsbio2 / rday … … 102 102 END_2D 103 103 ELSE 104 DO_2D _11_11104 DO_2D( 1, 1, 1, 1 ) 105 105 ikt = mbkt(ji,jj) 106 106 zdep = e3t(ji,jj,ikt,Kmm) / rDt_trc … … 111 111 112 112 trc_data(:,:,:) = 0. 113 DO_2D _11_11113 DO_2D( 1, 1, 1, 1 ) 114 114 ikt = mbkt(ji,jj) 115 115 IF ( tmask(ji,jj,ikt) == 1 ) THEN -
NEMO/trunk/src/TOP/PISCES/SED/sedini.F90
r12489 r13295 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/trunk/src/TOP/PISCES/SED/sedsfc.F90
r12377 r13295 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/trunk/src/TOP/PISCES/SED/trcdmp_sed.F90
r13286 r13295 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) ) & -
NEMO/trunk/src/TOP/PISCES/trcwri_pisces.F90
r13237 r13295 69 69 zo2min (:,:) = tr(:,:,1,jpoxy,Kmm) * tmask(:,:,1) 70 70 zdepo2min(:,:) = gdepw(:,:,1,Kmm) * tmask(:,:,1) 71 DO_3D _11_11(2, jpkm1 )71 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 72 72 IF( tmask(ji,jj,jk) == 1 ) then 73 73 IF( tr(ji,jj,jk,jpoxy,Kmm) < zo2min(ji,jj) ) then -
NEMO/trunk/src/TOP/TRP/trcatf.F90
r13286 r13295 239 239 ! 240 240 DO jn = 1, jptra 241 DO_3D _11_11(1, jpkm1 )241 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 242 242 ze3t_b = e3t(ji,jj,jk,Kbb) 243 243 ze3t_n = e3t(ji,jj,jk,Kmm) … … 314 314 ! 315 315 DO jn = 1, jptra 316 DO_3D _11_11(1, jpkm1 )316 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 317 317 ze3t_b = 1._wp + r3t(ji,jj,Kbb) * tmask(ji,jj,jk) 318 318 ze3t_n = 1._wp + r3t(ji,jj,Kmm) * tmask(ji,jj,jk) -
NEMO/trunk/src/TOP/TRP/trcdmp.F90
r13286 r13295 113 113 ! 114 114 CASE( 0 ) !== newtonian damping throughout the water column ==! 115 DO_3D _00_00(1, jpkm1 )115 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 116 116 ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - ptr(ji,jj,jk,jn,Kbb) ) 117 117 END_3D 118 118 ! 119 119 CASE ( 1 ) !== no damping in the turbocline (avt > 5 cm2/s) ==! 120 DO_3D _00_00(1, jpkm1 )120 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 121 121 IF( avt(ji,jj,jk) <= avt_c ) THEN 122 122 ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - ptr(ji,jj,jk,jn,Kbb) ) … … 125 125 ! 126 126 CASE ( 2 ) !== no damping in the mixed layer ==! 127 DO_3D _00_00(1, jpkm1 )127 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 128 128 IF( gdept(ji,jj,jk,Kmm) >= hmlp (ji,jj) ) THEN 129 129 ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - ptr(ji,jj,jk,jn,Kbb) ) -
NEMO/trunk/src/TOP/TRP/trcldf.F90
r13286 r13295 82 82 zahv(:,:,:) = rldf * ahtv(:,:,:) 83 83 ! !* Enhanced zonal diffusivity coefficent in the equatorial domain 84 DO_3D _11_11(1, jpk )84 DO_3D( 1, 1, 1, 1, 1, jpk ) 85 85 IF( gdept(ji,jj,jk,Kmm) > 200. .AND. gphit(ji,jj) < 5. .AND. gphit(ji,jj) > -5. ) THEN 86 86 zdep = MAX( gdept(ji,jj,jk,Kmm) - 1000., 0. ) / 1000. -
NEMO/trunk/src/TOP/TRP/trcrad.F90
r13286 r13295 168 168 IF( l_trdtrc ) ztrtrd(:,:,:) = ptr(:,:,:,jn,itime) ! save input tr(:,:,:,:,Kbb) for trend computation 169 169 ! 170 DO_3D _11_11(1, jpkm1 )170 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 171 171 IF( ztrneg(ji,jj,jn) /= 0. ) THEN ! if negative values over the 3x3 box 172 172 ! -
NEMO/trunk/src/TOP/TRP/trcsbc.F90
r13286 r13295 121 121 ! 122 122 DO jn = 1, jptra 123 DO_2D _01_00123 DO_2D( 0, 1, 0, 0 ) 124 124 sbc_trc(ji,jj,jn) = zsfx(ji,jj) * r1_rho0 * ptr(ji,jj,1,jn,Kmm) 125 125 END_2D … … 129 129 ! 130 130 DO jn = 1, jptra 131 DO_2D _01_00131 DO_2D( 0, 1, 0, 0 ) 132 132 sbc_trc(ji,jj,jn) = ( zsfx(ji,jj) + fmmflx(ji,jj) ) * r1_rho0 * ptr(ji,jj,1,jn,Kmm) 133 133 END_2D … … 137 137 ! 138 138 DO jn = 1, jptra 139 DO_2D _01_00139 DO_2D( 0, 1, 0, 0 ) 140 140 zse3t = 1. / e3t(ji,jj,1,Kmm) 141 141 ! tracer flux at the ice/ocean interface (tracer/m2/s) … … 161 161 IF( l_trdtrc ) ztrtrd(:,:,:) = ptr(:,:,:,jn,Krhs) ! save trends 162 162 ! 163 DO_2D _01_00163 DO_2D( 0, 1, 0, 0 ) 164 164 zse3t = zfact / e3t(ji,jj,1,Kmm) 165 165 ptr(ji,jj,1,jn,Krhs) = ptr(ji,jj,1,jn,Krhs) + ( sbc_trc_b(ji,jj,jn) + sbc_trc(ji,jj,jn) ) * zse3t -
NEMO/trunk/src/TOP/TRP/trcsink.F90
r13237 r13295 74 74 iiter(:,:) = 1 75 75 ELSE 76 DO_2D _11_1176 DO_2D( 1, 1, 1, 1 ) 77 77 iiter(ji,jj) = 1 78 78 DO jk = 1, jpkm1 … … 86 86 ENDIF 87 87 88 DO_3D _11_11(1,jpkm1 )88 DO_3D( 1, 1, 1, 1, 1,jpkm1 ) 89 89 IF( tmask(ji,jj,jk) == 1.0 ) THEN 90 90 zwsmax = 0.5 * e3t(ji,jj,jk,Kmm) * rday / rsfact … … 146 146 DO jn = 1, 2 147 147 ! first guess of the slopes interior values 148 DO_2D _11_11148 DO_2D( 1, 1, 1, 1 ) 149 149 ! 150 150 zstep = rsfact / REAL( kiter(ji,jj), wp ) / 2. … … 186 186 END DO 187 187 188 DO_3D _11_11(1,jpkm1 )188 DO_3D( 1, 1, 1, 1, 1,jpkm1 ) 189 189 zflx = ( psinkflx(ji,jj,jk) - psinkflx(ji,jj,jk+1) ) / e3t(ji,jj,jk,Kmm) 190 190 ztrb(ji,jj,jk) = ztrb(ji,jj,jk) + 2. * zflx -
NEMO/trunk/src/TOP/TRP/trdmxl_trc.F90
r13237 r13295 125 125 126 126 IF( jpktrd_trc < jpk ) THEN ! description ??? 127 DO_2D _11_11127 DO_2D( 1, 1, 1, 1 ) 128 128 IF( nmld_trc(ji,jj) <= jpktrd_trc ) THEN 129 129 zvlmsk(ji,jj) = tmask(ji,jj,1) … … 148 148 ! ... Weights for vertical averaging 149 149 wkx_trc(:,:,:) = 0.e0 150 DO_3D _11_11(1, jpktrd_trc )150 DO_3D( 1, 1, 1, 1, 1, jpktrd_trc ) 151 151 IF( jk - nmld_trc(ji,jj) < 0 ) wkx_trc(ji,jj,jk) = e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) 152 152 END_3D … … 259 259 ! 260 260 DO jn = 1, jptra 261 DO_2D _11_11261 DO_2D( 1, 1, 1, 1 ) 262 262 ik = nmld_trc(ji,jj) 263 263 IF( ln_trdtrc(jn) ) & -
NEMO/trunk/src/TOP/trcbc.F90
r13237 r13295 415 415 ! Remove river dilution for tracers with absent river load 416 416 IF( ln_rnf_ctl .AND. .NOT.ln_trc_cbc(jn) ) THEN 417 DO_2D _01_00417 DO_2D( 0, 1, 0, 0 ) 418 418 DO jk = 1, nk_rnf(ji,jj) 419 419 zrnf = (rnf(ji,jj) + rnf_b(ji,jj)) * 0.5_wp * r1_rho0 / h_rnf(ji,jj) … … 429 429 jl = n_trc_indsbc(jn) 430 430 sf_trcsbc(jl)%fnow(:,:,1) = MAX( rtrn, sf_trcsbc(jl)%fnow(:,:,1) ) ! avoid nedgative value due to interpolation 431 DO_2D _01_00431 DO_2D( 0, 1, 0, 0 ) 432 432 zfact = 1. / ( e3t(ji,jj,1,Kmm) * rn_sbc_time ) 433 433 ptr(ji,jj,1,jn,Krhs) = ptr(ji,jj,1,jn,Krhs) + rf_trsfac(jl) * sf_trcsbc(jl)%fnow(ji,jj,1) * zfact … … 439 439 IF( l_offline ) rn_rfact = 1._wp 440 440 jl = n_trc_indcbc(jn) 441 DO_2D _01_00441 DO_2D( 0, 1, 0, 0 ) 442 442 DO jk = 1, nk_rnf(ji,jj) 443 443 zfact = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time ) * tmask(ji,jj,1) -
NEMO/trunk/src/TOP/trcdta.F90
r13237 r13295 199 199 WRITE(numout,*) 'trc_dta: interpolates passive tracer data onto the s- or mixed s-z-coordinate mesh' 200 200 ENDIF 201 DO_2D _11_11201 DO_2D( 1, 1, 1, 1 ) 202 202 DO jk = 1, jpk ! determines the intepolated T-S profiles at each (i,j) points 203 203 zl = gdept(ji,jj,jk,Kmm)
Note: See TracChangeset
for help on using the changeset viewer.