Changeset 5825 for branches/2015
- Timestamp:
- 2015-10-23T11:57:19+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90
r5282 r5825 567 567 INTEGER :: inum ! temporary logical unit 568 568 #endif 569 REAL(wp) :: zsto, zout, z dt, zjulian ! temporary scalars569 REAL(wp) :: zsto, zout, zjulian ! temporary scalars 570 570 !! 571 571 REAL(wp), POINTER, DIMENSION(:) :: zphi, zfoo ! 1D workspace … … 584 584 IF( kt == nit000 ) THEN 585 585 niter = ( nit000 - 1 ) / nn_fptr 586 zdt = rdt587 586 ! 588 587 IF(lwp) THEN … … 640 639 ! ---------------- 641 640 ! Define frequency of output and means 642 zsto = nn_fptr * zdt641 zsto = nn_fptr * rdt 643 642 IF( ln_mskland ) THEN ! put 1.e+20 on land (very expensive!!) 644 643 clop = "ave(only(x))" … … 649 648 ENDIF 650 649 651 zout = nn_fwri * zdt650 zout = nn_fwri * rdt 652 651 zfoo(1:jpj) = 0._wp 653 652 … … 670 669 ! Horizontal grid : zphi() 671 670 CALL histbeg(clhstnam, 1, zfoo, jpj, zphi, & 672 1, 1, 1, jpj, niter, zjulian, zdt*nn_fptr, nhoridz, numptr, domain_id=nidom_ptr)671 1, 1, 1, jpj, niter, zjulian, rdt*nn_fptr, nhoridz, numptr, domain_id=nidom_ptr) 673 672 ! Vertical grids : gdept_1d, gdepw_1d 674 673 CALL histvert( numptr, "deptht", "Vertical T levels", & -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r5282 r5825 384 384 INTEGER :: iimi, iima, ipk, it, itmod, ijmi, ijma ! local integers 385 385 INTEGER :: jn, ierror ! local integers 386 REAL(wp) :: zsto, zout, zmax, zjulian , zdt! local scalars386 REAL(wp) :: zsto, zout, zmax, zjulian ! local scalars 387 387 !! 388 388 REAL(wp), POINTER, DIMENSION(:,:) :: zw2d ! 2D workspace … … 409 409 410 410 ! Define frequency of output and means 411 zdt = rdt412 411 IF( ln_mskland ) THEN ; clop = "only(x)" ! put 1.e+20 on land (very expensive!!) 413 412 ELSE ; clop = "x" ! no use of the mask value (require less cpu time) 414 413 ENDIF 415 414 #if defined key_diainstant 416 zsto = nwrite * zdt415 zsto = nwrite * rdt 417 416 clop = "inst("//TRIM(clop)//")" 418 417 #else 419 zsto= zdt418 zsto=rdt 420 419 clop = "ave("//TRIM(clop)//")" 421 420 #endif 422 zout = nwrite * zdt423 zmax = ( nitend - nit000 + 1 ) * zdt421 zout = nwrite * rdt 422 zmax = ( nitend - nit000 + 1 ) * rdt 424 423 425 424 ! Define indices of the horizontal output zoom and vertical limit storage … … 463 462 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 464 463 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 465 & nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )464 & nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 466 465 CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept 467 466 & "m", ipk, gdept_1d, nz_T, "down" ) … … 499 498 CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu 500 499 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 501 & nit000-1, zjulian, zdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )500 & nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 502 501 CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept 503 502 & "m", ipk, gdept_1d, nz_U, "down" ) … … 512 511 CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv 513 512 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 514 & nit000-1, zjulian, zdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )513 & nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 515 514 CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept 516 515 & "m", ipk, gdept_1d, nz_V, "down" ) … … 525 524 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 526 525 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 527 & nit000-1, zjulian, zdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set )526 & nit000-1, zjulian, rdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 528 527 CALL histvert( nid_W, "depthw", "Vertical W levels", & ! Vertical grid: gdepw 529 528 & "m", ipk, gdepw_1d, nz_W, "down" ) … … 929 928 INTEGER :: id_i , nz_i, nh_i 930 929 INTEGER, DIMENSION(1) :: idex ! local workspace 931 REAL(wp) :: zsto, zout, zmax, zjulian , zdt930 REAL(wp) :: zsto, zout, zmax, zjulian 932 931 !!---------------------------------------------------------------------- 933 932 ! … … 940 939 clname = cdfile_name 941 940 IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 942 zdt = rdt943 941 zsto = rdt 944 942 clop = "inst(x)" ! no use of the mask value (require less cpu time) 945 943 zout = rdt 946 zmax = ( nitend - nit000 + 1 ) * zdt944 zmax = ( nitend - nit000 + 1 ) * rdt 947 945 948 946 IF(lwp) WRITE(numout,*) … … 959 957 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 960 958 CALL histbeg( clname, jpi, glamt, jpj, gphit, & 961 1, jpi, 1, jpj, nit000-1, zjulian, zdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit959 1, jpi, 1, jpj, nit000-1, zjulian, rdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit 962 960 CALL histvert( id_i, "deptht", "Vertical T levels", & ! Vertical grid : gdept 963 961 "m", jpk, gdept_1d, nz_i, "down") -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90
r5282 r5825 81 81 REAL(wp) :: zu, z0u, zzwx, zw ! local scalars 82 82 REAL(wp) :: zv, z0v, zzwy, z0w ! - - 83 REAL(wp) :: ztra, zbtr, z dt, zalpha ! - -83 REAL(wp) :: ztra, zbtr, zalpha ! - - 84 84 REAL(wp), POINTER, DIMENSION(:,:,:) :: zslpx, zslpy ! 3D workspace 85 85 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwx , zwy ! - - … … 176 176 ! !-- MUSCL horizontal advective fluxes 177 177 DO jk = 1, jpkm1 ! interior values 178 zdt = p2dt179 178 DO jj = 2, jpjm1 180 179 DO ji = fs_2, fs_jpim1 ! vector opt. … … 182 181 z0u = SIGN( 0.5, pun(ji,jj,jk) ) 183 182 zalpha = 0.5 - z0u 184 zu = z0u - 0.5 * pun(ji,jj,jk) * zdt / ( e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) )183 zu = z0u - 0.5 * pun(ji,jj,jk) * p2dt / ( e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) ) 185 184 zzwx = ptb(ji+1,jj,jk,jn) + xind(ji,jj,jk) * zu * zslpx(ji+1,jj,jk) 186 185 zzwy = ptb(ji ,jj,jk,jn) + xind(ji,jj,jk) * zu * zslpx(ji ,jj,jk) … … 189 188 z0v = SIGN( 0.5, pvn(ji,jj,jk) ) 190 189 zalpha = 0.5 - z0v 191 zv = z0v - 0.5 * pvn(ji,jj,jk) * zdt / ( e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) )190 zv = z0v - 0.5 * pvn(ji,jj,jk) * p2dt / ( e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) ) 192 191 zzwx = ptb(ji,jj+1,jk,jn) + xind(ji,jj,jk) * zv * zslpy(ji,jj+1,jk) 193 192 zzwy = ptb(ji,jj ,jk,jn) + xind(ji,jj,jk) * zv * zslpy(ji,jj ,jk) … … 259 258 ! 260 259 DO jk = 1, jpkm1 ! interior values 261 zdt = p2dt 262 DO jj = 2, jpjm1 260 DO jj = 2, jpjm1 263 261 DO ji = fs_2, fs_jpim1 ! vector opt. 264 262 zbtr = 1. / ( e1t(ji,jj) * e2t(ji,jj) * fse3w(ji,jj,jk+1) ) 265 263 z0w = SIGN( 0.5, pwn(ji,jj,jk+1) ) 266 264 zalpha = 0.5 + z0w 267 zw = z0w - 0.5 * pwn(ji,jj,jk+1) * zdt * zbtr265 zw = z0w - 0.5 * pwn(ji,jj,jk+1) * p2dt * zbtr 268 266 zzwx = ptb(ji,jj,jk+1,jn) + xind(ji,jj,jk) * zw * zslpx(ji,jj,jk+1) 269 267 zzwy = ptb(ji,jj,jk ,jn) + xind(ji,jj,jk) * zw * zslpx(ji,jj,jk ) -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90
r5282 r5825 71 71 REAL(wp) :: zu, z0u, zzwx, zw ! local scalars 72 72 REAL(wp) :: zv, z0v, zzwy, z0w ! - - 73 REAL(wp) :: ztra, zbtr, z dt, zalpha ! - -73 REAL(wp) :: ztra, zbtr, zalpha ! - - 74 74 REAL(wp), POINTER, DIMENSION(:,:,:) :: zslpx, zslpy , zwx, zwy 75 75 !!---------------------------------------------------------------------- … … 133 133 ! !-- MUSCL horizontal advective fluxes 134 134 DO jk = 1, jpkm1 ! interior values 135 zdt = p2dt136 135 DO jj = 2, jpjm1 137 136 DO ji = fs_2, fs_jpim1 ! vector opt. … … 139 138 z0u = SIGN( 0.5, pun(ji,jj,jk) ) 140 139 zalpha = 0.5 - z0u 141 zu = z0u - 0.5 * pun(ji,jj,jk) * zdt / ( e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) )140 zu = z0u - 0.5 * pun(ji,jj,jk) * p2dt / ( e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) ) 142 141 zzwx = ptb(ji+1,jj,jk,jn) + zu * zslpx(ji+1,jj,jk) 143 142 zzwy = ptb(ji ,jj,jk,jn) + zu * zslpx(ji ,jj,jk) … … 146 145 z0v = SIGN( 0.5, pvn(ji,jj,jk) ) 147 146 zalpha = 0.5 - z0v 148 zv = z0v - 0.5 * pvn(ji,jj,jk) * zdt / ( e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) )147 zv = z0v - 0.5 * pvn(ji,jj,jk) * p2dt / ( e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) ) 149 148 zzwx = ptb(ji,jj+1,jk,jn) + zv * zslpy(ji,jj+1,jk) 150 149 zzwy = ptb(ji,jj ,jk,jn) + zv * zslpy(ji,jj ,jk) … … 240 239 ! 241 240 DO jk = 1, jpkm1 ! interior values 242 zdt = p2dt243 241 DO jj = 2, jpjm1 244 242 DO ji = fs_2, fs_jpim1 ! vector opt. … … 246 244 z0w = SIGN( 0.5, pwn(ji,jj,jk+1) ) 247 245 zalpha = 0.5 + z0w 248 zw = z0w - 0.5 * pwn(ji,jj,jk+1) * zdt * zbtr246 zw = z0w - 0.5 * pwn(ji,jj,jk+1) * p2dt * zbtr 249 247 zzwx = ptb(ji,jj,jk+1,jn) + zw * zslpx(ji,jj,jk+1) 250 248 zzwy = ptb(ji,jj,jk ,jn) + zw * zslpx(ji,jj,jk ) -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
r5282 r5825 131 131 !! 132 132 INTEGER :: ji, jj, jk, jn ! dummy loop indices 133 REAL(wp) :: ztra, zbtr, zdir, zdx, z dt, zmsk ! local scalars133 REAL(wp) :: ztra, zbtr, zdir, zdx, zmsk ! local scalars 134 134 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwx, zfu, zfc, zfd 135 135 !---------------------------------------------------------------------- … … 170 170 ! 171 171 DO jk = 1, jpkm1 172 zdt = p2dt173 172 DO jj = 2, jpjm1 174 173 DO ji = fs_2, fs_jpim1 ! vector opt. 175 174 zdir = 0.5 + SIGN( 0.5, pun(ji,jj,jk) ) ! if pun > 0 : zdir = 1 otherwise zdir = 0 176 175 zdx = ( zdir * e1t(ji,jj) + ( 1. - zdir ) * e1t(ji+1,jj) ) * e2u(ji,jj) * fse3u(ji,jj,jk) 177 zwx(ji,jj,jk) = ABS( pun(ji,jj,jk) ) * zdt / zdx ! (0<zc_cfl<1 : Courant number on x-direction)176 zwx(ji,jj,jk) = ABS( pun(ji,jj,jk) ) * p2dt / zdx ! (0<zc_cfl<1 : Courant number on x-direction) 178 177 zfc(ji,jj,jk) = zdir * ptb(ji ,jj,jk,jn) + ( 1. - zdir ) * ptb(ji+1,jj,jk,jn) ! FC in the x-direction for T 179 178 zfd(ji,jj,jk) = zdir * ptb(ji+1,jj,jk,jn) + ( 1. - zdir ) * ptb(ji ,jj,jk,jn) ! FD in the x-direction for T … … 252 251 !! 253 252 INTEGER :: ji, jj, jk, jn ! dummy loop indices 254 REAL(wp) :: ztra, zbtr, zdir, zdx, z dt, zmsk ! local scalars253 REAL(wp) :: ztra, zbtr, zdir, zdx, zmsk ! local scalars 255 254 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwy, zfu, zfc, zfd 256 255 !---------------------------------------------------------------------- … … 293 292 ! 294 293 DO jk = 1, jpkm1 295 zdt = p2dt296 294 DO jj = 2, jpjm1 297 295 DO ji = fs_2, fs_jpim1 ! vector opt. 298 296 zdir = 0.5 + SIGN( 0.5, pvn(ji,jj,jk) ) ! if pun > 0 : zdir = 1 otherwise zdir = 0 299 297 zdx = ( zdir * e2t(ji,jj) + ( 1. - zdir ) * e2t(ji,jj+1) ) * e1v(ji,jj) * fse3v(ji,jj,jk) 300 zwy(ji,jj,jk) = ABS( pvn(ji,jj,jk) ) * zdt / zdx ! (0<zc_cfl<1 : Courant number on x-direction)298 zwy(ji,jj,jk) = ABS( pvn(ji,jj,jk) ) * p2dt / zdx ! (0<zc_cfl<1 : Courant number on x-direction) 301 299 zfc(ji,jj,jk) = zdir * ptb(ji,jj ,jk,jn) + ( 1. - zdir ) * ptb(ji,jj+1,jk,jn) ! FC in the x-direction for T 302 300 zfd(ji,jj,jk) = zdir * ptb(ji,jj+1,jk,jn) + ( 1. - zdir ) * ptb(ji,jj ,jk,jn) ! FD in the x-direction for T -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90
r5282 r5825 81 81 INTEGER :: ji, jj, jk, jn ! dummy loop indices 82 82 INTEGER :: ik 83 REAL(wp) :: z 2dtt, zbtr, ztra ! local scalar83 REAL(wp) :: zbtr, ztra ! local scalar 84 84 REAL(wp) :: zfp_ui, zfp_vj, zfp_wk ! - - 85 85 REAL(wp) :: zfm_ui, zfm_vj, zfm_wk ! - - … … 161 161 ! total advective trend 162 162 DO jk = 1, jpkm1 163 z2dtt = p2dt164 163 DO jj = 2, jpjm1 165 164 DO ji = fs_2, fs_jpim1 ! vector opt. … … 171 170 ! update and guess with monotonic sheme 172 171 pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + ztra * tmask(ji,jj,jk) 173 zwi(ji,jj,jk) = ( ptb(ji,jj,jk,jn) + z2dtt * ztra ) * tmask(ji,jj,jk)172 zwi(ji,jj,jk) = ( ptb(ji,jj,jk,jn) + p2dt * ztra ) * tmask(ji,jj,jk) 174 173 END DO 175 174 END DO … … 299 298 INTEGER :: jtaken ! toggle for collecting appropriate fluxes from sub timesteps 300 299 REAL(wp) :: z_rzts ! Fractional length of Euler forward sub-timestep for vertical advection 301 REAL(wp) :: z 2dtt, zbtr, ztra ! local scalar300 REAL(wp) :: zbtr, ztra ! local scalar 302 301 REAL(wp) :: zfp_ui, zfp_vj, zfp_wk ! - - 303 302 REAL(wp) :: zfm_ui, zfm_vj, zfm_wk ! - - … … 375 374 ! total advective trend 376 375 DO jk = 1, jpkm1 377 z2dtt = p2dt378 376 DO jj = 2, jpjm1 379 377 DO ji = fs_2, fs_jpim1 ! vector opt. … … 385 383 ! update and guess with monotonic sheme 386 384 pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + ztra 387 zwi(ji,jj,jk) = ( ptb(ji,jj,jk,jn) + z2dtt * ztra ) * tmask(ji,jj,jk)385 zwi(ji,jj,jk) = ( ptb(ji,jj,jk,jn) + p2dt * ztra ) * tmask(ji,jj,jk) 388 386 END DO 389 387 END DO … … 559 557 INTEGER :: ji, jj, jk ! dummy loop indices 560 558 INTEGER :: ikm1 ! local integer 561 REAL(wp) :: zpos, zneg, zbt, za, zb, zc, zbig, zrtrn , z2dtt! local scalars559 REAL(wp) :: zpos, zneg, zbt, za, zb, zc, zbig, zrtrn ! local scalars 562 560 REAL(wp) :: zau, zbu, zcu, zav, zbv, zcv, zup, zdo ! - - 563 561 REAL(wp), POINTER, DIMENSION(:,:,:) :: zbetup, zbetdo, zbup, zbdo … … 584 582 DO jk = mikt(ji,jj), jpkm1 585 583 ikm1 = MAX(jk-1,mikt(ji,jj)) 586 z2dtt = p2dt587 584 588 585 ! search maximum in neighbourhood … … 609 606 610 607 ! up & down beta terms 611 zbt = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) / z2dtt608 zbt = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) / p2dt 612 609 zbetup(ji,jj,jk) = ( zup - paft(ji,jj,jk) ) / ( zpos + zrtrn ) * zbt 613 610 zbetdo(ji,jj,jk) = ( paft(ji,jj,jk) - zdo ) / ( zneg + zrtrn ) * zbt -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90
r5282 r5825 87 87 ! 88 88 INTEGER :: ji, jj, jk, jn ! dummy loop indices 89 REAL(wp) :: ztra, zbtr, zcoef , z2dtt! local scalars89 REAL(wp) :: ztra, zbtr, zcoef ! local scalars 90 90 REAL(wp) :: zfp_ui, zfm_ui, zcenut, ztak, zfp_wk, zfm_wk ! - - 91 91 REAL(wp) :: zfp_vj, zfm_vj, zcenvt, zeeu, zeev, z_hdivn ! - - … … 207 207 ! update and guess with monotonic sheme 208 208 DO jk = 1, jpkm1 209 z2dtt = p2dt210 209 DO jj = 2, jpjm1 211 210 DO ji = fs_2, fs_jpim1 ! vector opt. … … 213 212 ztak = - ( ztw(ji,jj,jk) - ztw(ji,jj,jk+1) ) * zbtr 214 213 pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + ztak 215 zti(ji,jj,jk) = ( ptb(ji,jj,jk,jn) + z2dtt * ( ztak + zltu(ji,jj,jk) ) ) * tmask(ji,jj,jk)214 zti(ji,jj,jk) = ( ptb(ji,jj,jk,jn) + p2dt * ( ztak + zltu(ji,jj,jk) ) ) * tmask(ji,jj,jk) 216 215 END DO 217 216 END DO … … 288 287 INTEGER :: ji, jj, jk ! dummy loop indices 289 288 INTEGER :: ikm1 ! local integer 290 REAL(wp) :: zpos, zneg, zbt, za, zb, zc, zbig, zrtrn , z2dtt! local scalars289 REAL(wp) :: zpos, zneg, zbt, za, zb, zc, zbig, zrtrn ! local scalars 291 290 REAL(wp), POINTER, DIMENSION(:,:,:) :: zbetup, zbetdo 292 291 !!---------------------------------------------------------------------- … … 340 339 341 340 DO jk = 1, jpkm1 342 z2dtt = p2dt343 341 DO jj = 2, jpjm1 344 342 DO ji = fs_2, fs_jpim1 ! vector opt. … … 347 345 zneg = MAX( 0., pcc(ji ,jj ,jk ) ) - MIN( 0., pcc(ji ,jj ,jk+1) ) 348 346 ! up & down beta terms 349 zbt = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) / z2dtt347 zbt = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) / p2dt 350 348 zbetup(ji,jj,jk) = ( zbetup(ji,jj,jk) - paft(ji,jj,jk) ) / (zpos+zrtrn) * zbt 351 349 zbetdo(ji,jj,jk) = ( paft(ji,jj,jk) - zbetdo(ji,jj,jk) ) / (zneg+zrtrn) * zbt -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/SAS_SRC/diawri.F90
r5282 r5825 136 136 INTEGER :: ierr ! error code return from allocation 137 137 INTEGER :: iimi, iima, ipk, it, itmod, ijmi, ijma ! local integers 138 REAL(wp) :: zsto, zout, zmax, zjulian , zdt! local scalars138 REAL(wp) :: zsto, zout, zmax, zjulian ! local scalars 139 139 !!---------------------------------------------------------------------- 140 140 ! … … 155 155 156 156 ! Define frequency of output and means 157 zdt = rdt158 157 IF( ln_mskland ) THEN ; clop = "only(x)" ! put 1.e+20 on land (very expensive!!) 159 158 ELSE ; clop = "x" ! no use of the mask value (require less cpu time) 160 159 ENDIF 161 160 #if defined key_diainstant 162 zsto = nwrite * zdt161 zsto = nwrite * rdt 163 162 clop = "inst("//TRIM(clop)//")" 164 163 #else 165 zsto= zdt164 zsto=rdt 166 165 clop = "ave("//TRIM(clop)//")" 167 166 #endif 168 zout = nwrite * zdt169 zmax = ( nitend - nit000 + 1 ) * zdt167 zout = nwrite * rdt 168 zmax = ( nitend - nit000 + 1 ) * rdt 170 169 171 170 ! Define indices of the horizontal output zoom and vertical limit storage … … 209 208 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 210 209 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 211 & nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )210 & nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 212 211 CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept 213 212 & "m", ipk, gdept_1d, nz_T, "down" ) … … 221 220 CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu 222 221 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 223 & nit000-1, zjulian, zdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )222 & nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 224 223 CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept 225 224 & "m", ipk, gdept_1d, nz_U, "down" ) … … 233 232 CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv 234 233 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 235 & nit000-1, zjulian, zdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )234 & nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 236 235 CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept 237 236 & "m", ipk, gdept_1d, nz_V, "down" ) … … 353 352 INTEGER :: id_i , nz_i, nh_i 354 353 INTEGER, DIMENSION(1) :: idex ! local workspace 355 REAL(wp) :: zsto, zout, zmax, zjulian , zdt354 REAL(wp) :: zsto, zout, zmax, zjulian 356 355 !!---------------------------------------------------------------------- 357 356 ! … … 364 363 clname = cdfile_name 365 364 IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 366 zdt = rdt367 365 zsto = rdt 368 366 clop = "inst(x)" ! no use of the mask value (require less cpu time) 369 367 zout = rdt 370 zmax = ( nitend - nit000 + 1 ) * zdt368 zmax = ( nitend - nit000 + 1 ) * rdt 371 369 372 370 IF(lwp) WRITE(numout,*) … … 383 381 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 384 382 CALL histbeg( clname, jpi, glamt, jpj, gphit, & 385 1, jpi, 1, jpj, nit000-1, zjulian, zdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit383 1, jpi, 1, jpj, nit000-1, zjulian, rdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit 386 384 CALL histvert( id_i, "deptht", "Vertical T levels", & ! Vertical grid : gdept 387 385 "m", jpk, gdept_1d, nz_i, "down") -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/TOP_SRC/trcdia.F90
r4292 r5825 108 108 CHARACTER (len=20) :: cltra, cltrau 109 109 CHARACTER (len=80) :: cltral 110 REAL(wp) :: zsto, zout , zdt110 REAL(wp) :: zsto, zout 111 111 INTEGER :: iimi, iima, ijmi, ijma, ipk, it, itmod, iiter 112 112 !!---------------------------------------------------------------------- … … 120 120 121 121 ! Define frequency of output and means 122 zdt = rdt123 122 IF( ln_mskland ) THEN ; clop = "only(x)" ! put 1.e+20 on land (very expensive!!) 124 123 ELSE ; clop = "x" ! no use of the mask value (require less cpu time) … … 128 127 clop = "inst("//TRIM(clop)//")" 129 128 # else 130 zsto = zdt129 zsto = rdt 131 130 clop = "ave("//TRIM(clop)//")" 132 131 # endif 133 zout = nn_writetrc * zdt132 zout = nn_writetrc * rdt 134 133 135 134 ! Define indices of the horizontal output zoom and vertical limit storage … … 184 183 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 185 184 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 186 & iiter, zjulian, zdt, nhorit5, nit5 , domain_id=nidom, snc4chunks=snc4set)185 & iiter, zjulian, rdt, nhorit5, nit5 , domain_id=nidom, snc4chunks=snc4set) 187 186 188 187 ! Vertical grid for tracer : gdept … … 252 251 INTEGER :: jl 253 252 INTEGER :: iimi, iima, ijmi, ijma, ipk, it, itmod, iiter 254 REAL(wp) :: zsto, zout , zdt253 REAL(wp) :: zsto, zout 255 254 !!---------------------------------------------------------------------- 256 255 … … 263 262 ! 264 263 ! Define frequency of output and means 265 zdt = rdt266 264 IF( ln_mskland ) THEN ; clop = "only(x)" ! put 1.e+20 on land (very expensive!!) 267 265 ELSE ; clop = "x" ! no use of the mask value (require less cpu time) 268 266 ENDIF 269 267 # if defined key_diainstant 270 zsto = nn_writedia * zdt268 zsto = nn_writedia * rdt 271 269 clop = "inst("//TRIM(clop)//")" 272 270 # else 273 zsto = zdt271 zsto = rdt 274 272 clop = "ave("//TRIM(clop)//")" 275 273 # endif 276 zout = nn_writedia * zdt274 zout = nn_writedia * rdt 277 275 278 276 ! Define indices of the horizontal output zoom and vertical limit storage … … 304 302 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 305 303 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 306 & iiter, zjulian, zdt, nhoritd, nitd , domain_id=nidom, snc4chunks=snc4set )304 & iiter, zjulian, rdt, nhoritd, nitd , domain_id=nidom, snc4chunks=snc4set ) 307 305 308 306 ! Vertical grid for 2d and 3d arrays … … 389 387 INTEGER :: ji, jj, jk, jl 390 388 INTEGER :: iimi, iima, ijmi, ijma, ipk, it, itmod, iiter 391 REAL(wp) :: zsto, zout , zdt389 REAL(wp) :: zsto, zout 392 390 !!---------------------------------------------------------------------- 393 391 … … 400 398 401 399 ! Define frequency of output and means 402 zdt = rdt403 400 IF( ln_mskland ) THEN ; clop = "only(x)" ! put 1.e+20 on land (very expensive!!) 404 401 ELSE ; clop = "x" ! no use of the mask value (require less cpu time) 405 402 ENDIF 406 403 # if defined key_diainstant 407 zsto = nn_writebio * zdt404 zsto = nn_writebio * rdt 408 405 clop = "inst("//TRIM(clop)//")" 409 406 # else 410 zsto = zdt407 zsto = rdt 411 408 clop = "ave("//TRIM(clop)//")" 412 409 # endif 413 zout = nn_writebio * zdt410 zout = nn_writebio * rdt 414 411 415 412 ! Define indices of the horizontal output zoom and vertical limit storage … … 437 434 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 438 435 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 439 & iiter, zjulian, zdt, nhoritb, nitb , domain_id=nidom, snc4chunks=snc4set )436 & iiter, zjulian, rdt, nhoritb, nitb , domain_id=nidom, snc4chunks=snc4set ) 440 437 ! Vertical grid for biological trends 441 438 CALL histvert(nitb, 'deptht', 'Vertical T levels', 'm', ipk, gdept_1d, ndepitb)
Note: See TracChangeset
for help on using the changeset viewer.