- Timestamp:
- 2017-06-15T08:44:30+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90
r6140 r8178 37 37 PUBLIC dyn_ldf_iso_alloc ! called by nemogcm.F90 38 38 39 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: akzu, akzv !: vertical component of rotated lateral viscosity 40 39 41 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zfuw, zdiu, zdju, zdj1u ! 2D workspace (dyn_ldf_iso) 40 42 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zfvw, zdiv, zdjv, zdj1v ! - - … … 53 55 !! *** ROUTINE dyn_ldf_iso_alloc *** 54 56 !!---------------------------------------------------------------------- 55 ALLOCATE( zfuw(jpi,jpk) , zdiu(jpi,jpk) , zdju(jpi,jpk) , zdj1u(jpi,jpk) , &56 & zfvw(jpi,jpk) , zdiv(jpi,jpk) , zdjv(jpi,jpk) , zdj1v(jpi,jpk) , STAT=dyn_ldf_iso_alloc )57 ALLOCATE( akzu(jpi,jpj,jpk) , zfuw(jpi,jpk) , zdiu(jpi,jpk) , zdju(jpi,jpk) , zdj1u(jpi,jpk) , & 58 & akzv(jpi,jpj,jpk) , zfvw(jpi,jpk) , zdiv(jpi,jpk) , zdjv(jpi,jpk) , zdj1v(jpi,jpk) , STAT=dyn_ldf_iso_alloc ) 57 59 ! 58 60 IF( dyn_ldf_iso_alloc /= 0 ) CALL ctl_warn('dyn_ldf_iso_alloc: array allocate failed.') … … 99 101 !! 100 102 !! ** Action : 101 !! Update (ua,va) arrays with the before geopotential biharmonic 102 !! mixing trend. 103 !! Update (avmu,avmv) to accompt for the diagonal vertical component 104 !! of the rotated operator in dynzdf module 103 !! -(ua,va) updated with the before geopotential harmonic mixing trend 104 !! -(akzu,akzv) to accompt for the diagonal vertical component 105 !! of the rotated operator in dynzdf module 105 106 !!---------------------------------------------------------------------- 106 107 INTEGER, INTENT( in ) :: kt ! ocean time-step index … … 144 145 CALL lbc_lnk( uslp , 'U', -1. ) ; CALL lbc_lnk( vslp , 'V', -1. ) 145 146 CALL lbc_lnk( wslpi, 'W', -1. ) ; CALL lbc_lnk( wslpj, 'W', -1. ) 146 147 !!bug 148 IF( kt == nit000 ) then 149 IF(lwp) WRITE(numout,*) ' max slop: u', SQRT( MAXVAL(uslp*uslp)), ' v ', SQRT(MAXVAL(vslp)), & 150 & ' wi', sqrt(MAXVAL(wslpi)) , ' wj', sqrt(MAXVAL(wslpj)) 151 endif 152 !!end 153 ENDIF 147 ! 148 ENDIF 154 149 155 150 ! ! =============== … … 365 360 + zcoef4 * ( zdj1u(ji,jk-1) + zdju (ji ,jk-1) & 366 361 +zdj1u(ji,jk ) + zdju (ji ,jk ) ) 367 ! update avmu (add isopycnal vertical coefficient to avmu)368 ! Caution: zcoef0 include rn_aht_0, so divided by rn_aht_0 to obtain slp^2 * rn_aht_0369 a vmu(ji,jj,jk) = avmu(ji,jj,jk) +( zuwslpi * zuwslpi + zuwslpj * zuwslpj ) / rn_aht_0362 ! vertical mixing coefficient (akzu) 363 ! Note: zcoef0 include rn_aht_0, so divided by rn_aht_0 to obtain slp^2 * rn_aht_0 364 akzu(ji,jj,jk) = ( zuwslpi * zuwslpi + zuwslpj * zuwslpj ) / rn_aht_0 370 365 END DO 371 366 END DO … … 391 386 & + zcoef4 * ( zdjv (ji,jk-1) + zdj1v(ji ,jk-1) & 392 387 & +zdjv (ji,jk ) + zdj1v(ji ,jk ) ) 393 ! update avmv (add isopycnal vertical coefficient to avmv)394 ! Caution: zcoef0 include rn_aht_0, so divided by rn_aht_0 to obtain slp^2 * rn_aht_0395 a vmv(ji,jj,jk) = avmv(ji,jj,jk) +( zvwslpi * zvwslpi + zvwslpj * zvwslpj ) / rn_aht_0388 ! vertical mixing coefficient (akzv) 389 ! Note: zcoef0 include rn_aht_0, so divided by rn_aht_0 to obtain slp^2 * rn_aht_0 390 akzv(ji,jj,jk) = ( zvwslpi * zvwslpi + zvwslpj * zvwslpj ) / rn_aht_0 396 391 END DO 397 392 END DO
Note: See TracChangeset
for help on using the changeset viewer.