New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 8178 for branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90 – NEMO

Ignore:
Timestamp:
2017-06-15T08:44:30+02:00 (7 years ago)
Author:
gm
Message:

#1883 (HPC-09) - step-9: final step for the removal of avmu, avmv from the code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90

    r6140 r8178  
    3737   PUBLIC   dyn_ldf_iso_alloc     ! called by nemogcm.F90 
    3838 
     39   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   akzu, akzv   !: vertical component of rotated lateral viscosity 
     40    
    3941   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zfuw, zdiu, zdju, zdj1u   ! 2D workspace (dyn_ldf_iso)  
    4042   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zfvw, zdiv, zdjv, zdj1v   !  -      - 
     
    5355      !!                  ***  ROUTINE dyn_ldf_iso_alloc  *** 
    5456      !!---------------------------------------------------------------------- 
    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 ) 
    5759         ! 
    5860      IF( dyn_ldf_iso_alloc /= 0 )   CALL ctl_warn('dyn_ldf_iso_alloc: array allocate failed.') 
     
    99101      !! 
    100102      !! ** 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 
    105106      !!---------------------------------------------------------------------- 
    106107      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
     
    144145         CALL lbc_lnk( uslp , 'U', -1. )      ;      CALL lbc_lnk( vslp , 'V', -1. ) 
    145146         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 
    154149 
    155150      !                                                ! =============== 
     
    365360                           + zcoef4 * ( zdj1u(ji,jk-1) + zdju (ji  ,jk-1)     & 
    366361                                       +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_0 
    369                avmu(ji,jj,jk) = avmu(ji,jj,jk) + ( zuwslpi * zuwslpi + zuwslpj * zuwslpj ) / rn_aht_0 
     362               ! 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 
    370365            END DO 
    371366         END DO 
     
    391386                  &        + zcoef4 * ( zdjv (ji,jk-1) + zdj1v(ji  ,jk-1)     & 
    392387                  &                    +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_0 
    395                avmv(ji,jj,jk) = avmv(ji,jj,jk) + ( zvwslpi * zvwslpi + zvwslpj * zvwslpj ) / rn_aht_0 
     388               ! 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 
    396391            END DO 
    397392         END DO 
Note: See TracChangeset for help on using the changeset viewer.