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 216 for trunk/NEMO/OPA_SRC/DYN/dynldf_lap.F90 – NEMO

Ignore:
Timestamp:
2005-03-17T15:02:38+01:00 (19 years ago)
Author:
opalod
Message:

CT : UPDATE151 : New trends organization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DYN/dynldf_lap.F90

    r109 r216  
    1515   USE zdf_oce         ! ocean vertical physics 
    1616   USE in_out_manager  ! I/O manager 
    17    USE trddyn_oce      ! ocean dynamics trends 
     17   USE trdmod          ! ocean dynamics trends  
     18   USE trdmod_oce      ! ocean variables trends 
    1819   USE ldfslp          ! iso-neutral slopes  
    1920 
     
    5657      !! ** Action : - Update (ua,va) with the before iso-level harmonic  
    5758      !!               mixing trend. 
    58       !!             - Save in (utrd,vtrd) arrays the trends ('key_diatrends') 
     59      !!             - Save in (ztdua,ztdva) arrays the trends ('key_trddyn') 
    5960      !! 
    6061      !! History : 
     
    6263      !!        !  91-11 (G. Madec) 
    6364      !!        !  96-01 (G. Madec) statement function for e3 and ahm 
    64       !!   8.5  !  02-06  (G. Madec)  F90: Free form and module 
     65      !!   8.5  !  02-06 (G. Madec)  F90: Free form and module 
     66      !!   9.0  !  04-08 (C. Talandier) New trends organization 
    6567      !!---------------------------------------------------------------------- 
     68      !! * Modules used      
     69      USE oce, ONLY :    ztdua => ta,   & ! use ta as 3D workspace    
     70                         ztdva => sa      ! use sa as 3D workspace    
     71 
    6672      !! * Arguments 
    67       INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
     73      INTEGER, INTENT( in ) ::   kt       ! ocean time-step index 
    6874 
    6975      !! * Local declarations 
    70       INTEGER  ::   ji, jj, jk           ! dummy loop indices 
     76      INTEGER  ::   ji, jj, jk            ! dummy loop indices 
    7177      REAL(wp) ::   & 
    72          zua, zva, ze2u, ze1v            ! temporary scalars 
     78         zua, zva, ze2u, ze1v             ! temporary scalars 
    7379      !!---------------------------------------------------------------------- 
    7480 
     
    7783         IF(lwp) WRITE(numout,*) 'dyn_ldf : iso-level harmonic (laplacien) operator' 
    7884         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     85      ENDIF 
     86 
     87      ! Save ua and va trends 
     88      IF( l_trddyn )   THEN 
     89         ztdua(:,:,:) = ua(:,:,:)  
     90         ztdva(:,:,:) = va(:,:,:)  
    7991      ENDIF 
    8092 
     
    107119               ua(ji,jj,jk) = ua(ji,jj,jk) + zua 
    108120               va(ji,jj,jk) = va(ji,jj,jk) + zva 
    109 #if defined key_trddyn || defined key_trd_vor 
    110                ! save the horizontal diffusive trends 
    111                utrd(ji,jj,jk,5) = zua 
    112                vtrd(ji,jj,jk,5) = zva 
    113 #endif 
    114121            END DO 
    115122         END DO 
     
    117124      END DO                                           !   End of slab 
    118125      !                                                ! =============== 
     126 
     127      ! save the lateral diffusion trends for diagnostic 
     128      ! momentum trends 
     129      IF( l_trddyn )   THEN 
     130         ztdua(:,:,:) = ua(:,:,:) - ztdua(:,:,:) 
     131         ztdva(:,:,:) = va(:,:,:) - ztdva(:,:,:) 
     132 
     133         CALL trd_mod(ztdua, ztdva, jpdtdldf, 'DYN', kt) 
     134      ENDIF 
    119135 
    120136      IF(l_ctl) THEN         ! print sum trends (used for debugging) 
Note: See TracChangeset for help on using the changeset viewer.