Changeset 9939 for NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/TRD
- Timestamp:
- 2018-07-13T09:28:50+02:00 (6 years ago)
- Location:
- NEMO/branches/2018/dev_r9838_ENHANCE04_RK3
- Files:
-
- 5 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/TRD/trddyn.F90
r9598 r9939 142 142 ! ! wind stress trends 143 143 ALLOCATE( z2dx(jpi,jpj) , z2dy(jpi,jpj) ) 144 z2dx(:,:) = ( utau_b(:,:) + utau(:,:) ) / ( e3u_n(:,:,1) * r au0 )145 z2dy(:,:) = ( vtau_b(:,:) + vtau(:,:) ) / ( e3v_n(:,:,1) * r au0 )144 z2dx(:,:) = ( utau_b(:,:) + utau(:,:) ) / ( e3u_n(:,:,1) * rho0 ) 145 z2dy(:,:) = ( vtau_b(:,:) + vtau(:,:) ) / ( e3v_n(:,:,1) * rho0 ) 146 146 CALL iom_put( "utrd_tau", z2dx ) 147 147 CALL iom_put( "vtrd_tau", z2dy ) -
NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/TRD/trdglo.F90
r9598 r9939 75 75 INTEGER :: ji, jj, jk ! dummy loop indices 76 76 INTEGER :: ikbu, ikbv ! local integers 77 REAL(wp):: zvm, zvt, zvs, z1_2r au0 ! local scalars77 REAL(wp):: zvm, zvt, zvs, z1_2rho0 ! local scalars 78 78 REAL(wp), DIMENSION(jpi,jpj) :: ztswu, ztswv, z2dx, z2dy ! 2D workspace 79 79 !!---------------------------------------------------------------------- … … 132 132 ! 133 133 IF( ktrd == jpdyn_zdf ) THEN ! zdf trend: compute separately the surface forcing trend 134 z1_2r au0 = 0.5_wp / rau0134 z1_2rho0 = 0.5_wp / rho0 135 135 DO jj = 1, jpjm1 136 136 DO ji = 1, jpim1 137 137 zvt = ( utau_b(ji,jj) + utau(ji,jj) ) * tmask_i(ji+1,jj) * tmask_i(ji,jj) * umask(ji,jj,jk) & 138 & * z1_2r au0 * e1e2u(ji,jj)138 & * z1_2rho0 * e1e2u(ji,jj) 139 139 zvs = ( vtau_b(ji,jj) + vtau(ji,jj) ) * tmask_i(ji,jj+1) * tmask_i(ji,jj) * vmask(ji,jj,jk) & 140 & * z1_2r au0 * e1e2v(ji,jj)140 & * z1_2rho0 * e1e2v(ji,jj) 141 141 umo(jpdyn_tau) = umo(jpdyn_tau) + zvt 142 142 vmo(jpdyn_tau) = vmo(jpdyn_tau) + zvs … … 150 150 ! ! 151 151 ! IF( ln_drgimp ) THEN ! implicit drag case: compute separately the bottom friction 152 ! z1_2r au0 = 0.5_wp / rau0152 ! z1_2rho0 = 0.5_wp / rho0 153 153 ! DO jj = 1, jpjm1 154 154 ! DO ji = 1, jpim1 … … 211 211 CALL eos( tsn, rhd, rhop ) ! now potential density 212 212 213 zcof = 0.5_wp / r au0 ! Density flux at w-point213 zcof = 0.5_wp / rho0 ! Density flux at w-point 214 214 zkz(:,:,1) = 0._wp 215 215 DO jk = 2, jpk … … 217 217 END DO 218 218 219 zcof = 0.5_wp / r au0 ! Density flux at u and v-points219 zcof = 0.5_wp / rho0 ! Density flux at u and v-points 220 220 DO jk = 1, jpkm1 221 221 DO jj = 1, jpjm1 … … 363 363 9546 FORMAT(' 0 < horizontal diffusion : ', e20.13) 364 364 9547 FORMAT(' 0 < vertical diffusion : ', e20.13) 365 9548 FORMAT(' pressure gradient u2 = - 1/r au0 u.dz(rhop) : ', e20.13, ' u.dz(rhop) =', e20.13)365 9548 FORMAT(' pressure gradient u2 = - 1/rho0 u.dz(rho) : ', e20.13, ' u.dz(rho) =', e20.13) 366 366 ! 367 367 ! Save potential to kinetic energy conversion for next time step -
NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/TRD/trdken.F90
r9598 r9939 103 103 DO jj = 2, jpj 104 104 DO ji = 2, jpi 105 zke(ji,jj,jk) = 0.5_wp * r au0 *( un(ji ,jj,jk) * putrd(ji ,jj,jk) * bu(ji ,jj,jk) &105 zke(ji,jj,jk) = 0.5_wp * rho0 *( un(ji ,jj,jk) * putrd(ji ,jj,jk) * bu(ji ,jj,jk) & 106 106 & + un(ji-1,jj,jk) * putrd(ji-1,jj,jk) * bu(ji-1,jj,jk) & 107 107 & + vn(ji,jj ,jk) * pvtrd(ji,jj ,jk) * bv(ji,jj ,jk) & … … 127 127 DO jj = 2, jpj 128 128 DO ji = 2, jpi 129 zke2d(ji,jj) = r1_r au0 * 0.5_wp * ( z2dx(ji,jj) + z2dx(ji-1,jj) &129 zke2d(ji,jj) = r1_rho0 * 0.5_wp * ( z2dx(ji,jj) + z2dx(ji-1,jj) & 130 130 & + z2dy(ji,jj) + z2dy(ji,jj-1) ) * r1_bt(ji,jj,1) 131 131 END DO … … 184 184 ! 185 185 CALL ken_p2k( kt , zke ) 186 CALL iom_put( "ketrd_convP2K", zke ) ! conversion -r au*g*w186 CALL iom_put( "ketrd_convP2K", zke ) ! conversion -rho*g*w 187 187 ! 188 188 END SELECT … … 197 197 !! ** Purpose : compute rate of conversion from potential to kinetic energy 198 198 !! 199 !! ** Method : - compute conv defined as -r au*g*w on T-grid points199 !! ** Method : - compute conv defined as -rho*g*w on T-grid points 200 200 !! 201 201 !! ** Work only for full steps and partial steps (ln_hpg_zco or ln_hpg_zps) … … 211 211 ! 212 212 ! Local constant initialization 213 zcoef = - r au0 * grav * 0.5_wp213 zcoef = - rho0 * grav * 0.5_wp 214 214 215 215 ! Surface value (also valid in partial step case) -
NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/TRD/trdtra.F90
r9598 r9939 238 238 !!---------------------------------------------------------------------- 239 239 240 IF( neuler == 0 .AND. kt == nit000 ) THEN ; r2dt = rdt ! = rdt (restart with Euler time stepping)241 ELSEIF( kt <= nit000 + 1) THEN ; r2dt = 2. * rdt ! = 2 rdt (leapfrog)242 ENDIF243 244 240 ! ! 3D output of tracers trends using IOM interface 245 241 IF( ln_tra_trd ) CALL trd_tra_iom ( ptrdx, ptrdy, ktrd, kt ) … … 249 245 250 246 ! ! Potential ENergy trends 251 IF( ln_PE_trd ) CALL trd_pen( ptrdx, ptrdy, ktrd, kt, r 2dt )247 IF( ln_PE_trd ) CALL trd_pen( ptrdx, ptrdy, ktrd, kt, rDt ) 252 248 253 249 ! ! Mixed layer trends for active tracers … … 282 278 CASE ( jptra_atf ) ; CALL trd_mxl_zint( ptrdx, ptrdy, jpmxl_atf, '3D' ) ! asselin time filter (last trend) 283 279 ! 284 CALL trd_mxl( kt, r 2dt )! trends: Mixed-layer (output)280 CALL trd_mxl( kt, rDt ) ! trends: Mixed-layer (output) 285 281 END SELECT 286 282 ! -
NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/TRD/trdvor.F90
r9598 r9939 105 105 DO jj = 2, jpjm1 ! wind stress trends 106 106 DO ji = fs_2, fs_jpim1 ! vector opt. 107 ztswu(ji,jj) = 0.5 * ( utau_b(ji,jj) + utau(ji,jj) ) / ( e3u_n(ji,jj,1) * r au0 )108 ztswv(ji,jj) = 0.5 * ( vtau_b(ji,jj) + vtau(ji,jj) ) / ( e3v_n(ji,jj,1) * r au0 )107 ztswu(ji,jj) = 0.5 * ( utau_b(ji,jj) + utau(ji,jj) ) / ( e3u_n(ji,jj,1) * rho0 ) 108 ztswv(ji,jj) = 0.5 * ( vtau_b(ji,jj) + vtau(ji,jj) ) / ( e3v_n(ji,jj,1) * rho0 ) 109 109 END DO 110 110 END DO … … 385 385 ! III.1 compute total trend 386 386 ! ------------------------ 387 zmean = 1._wp / ( REAL( nmoydpvor, wp ) * 2._wp * r dt )387 zmean = 1._wp / ( REAL( nmoydpvor, wp ) * 2._wp * rn_Dt ) 388 388 vor_avrtot(:,:) = ( vor_avr(:,:) - vor_avrbn(:,:) + vor_avrb(:,:) - vor_avrbb(:,:) ) * zmean 389 389 … … 504 504 ENDIF 505 505 #if defined key_diainstant 506 zsto = nwrite *rdt506 zsto = nwrite * rn_Dt 507 507 clop = "inst("//TRIM(clop)//")" 508 508 #else 509 zsto = r dt509 zsto = rn_Dt 510 510 clop = "ave("//TRIM(clop)//")" 511 511 #endif 512 zout = nn_trd *rdt512 zout = nn_trd * rn_Dt 513 513 514 514 IF(lwp) WRITE(numout,*) ' netCDF initialization' … … 516 516 ! II.2 Compute julian date from starting date of the run 517 517 ! ------------------------ 518 CALL ymds2ju( nyear, nmonth, nday, r dt, zjulian )518 CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 519 519 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 520 520 IF(lwp) WRITE(numout,*)' ' … … 528 528 IF(lwp) WRITE(numout,*) ' Name of NETCDF file ', clhstnam 529 529 CALL histbeg( clhstnam, jpi, glamf, jpj, gphif,1, jpi, & ! Horizontal grid : glamt and gphit 530 & 1, jpj, nit000-1, zjulian, r dt, nh_t, nidvor, domain_id=nidom, snc4chunks=snc4set )530 & 1, jpj, nit000-1, zjulian, rn_Dt, nh_t, nidvor, domain_id=nidom, snc4chunks=snc4set ) 531 531 CALL wheneq( jpi*jpj, fmask, 1, 1., ndexvor1, ndimvor1 ) ! surface 532 532
Note: See TracChangeset
for help on using the changeset viewer.