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/dynzad.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/dynzad.F90

    r109 r216  
    1212   USE dom_oce         ! ocean space and time domain 
    1313   USE in_out_manager  ! I/O manager 
    14    USE trddyn_oce     ! dynamics trends diagnostics variables 
    15    USE flxrnf          ! ??? 
     14   USE trdmod          ! ocean dynamics trends  
     15   USE trdmod_oce      ! ocean variables trends 
     16   USE flxrnf          ! ocean runoffs 
    1617 
    1718   IMPLICIT NONE 
     
    5758      !!   7.5  !  96-01  (G. Madec) statement function for e3 
    5859      !!   8.5  !  02-07  (G. Madec) Free form, F90 
     60      !!   9.0  !  04-08  (C. Talandier) New trends organization 
    5961      !!---------------------------------------------------------------------- 
    6062      !! * modules used 
     
    7072      REAL(wp), DIMENSION(jpi) ::   & 
    7173         zww                           ! temporary workspace 
     74      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   & 
     75         ztdua, ztdva                  ! temporary workspace 
    7276      !!---------------------------------------------------------------------- 
    7377       
     
    7680         IF(lwp) WRITE(numout,*) 'dyn_zad : arakawa advection scheme' 
    7781         IF(lwp) WRITE(numout,*) '~~~~~~~   Auto-tasking case, j-slab, no vector opt.' 
     82      ENDIF 
     83 
     84      ! Save ua and va trends 
     85      IF( l_trddyn )   THEN 
     86         ztdua(:,:,:) = ua(:,:,:)  
     87         ztdva(:,:,:) = va(:,:,:)  
    7888      ENDIF 
    7989 
     
    115125               ua(ji,jj,jk) = ua(ji,jj,jk) + zua 
    116126               va(ji,jj,jk) = va(ji,jj,jk) + zva 
    117 #   if defined key_trddyn || defined key_trd_vor 
    118                ! save the trends for diagnostics 
    119                utrd(ji,jj,jk,6) = zua 
    120                vtrd(ji,jj,jk,6) = zva 
    121 #   endif 
    122127            END DO   
    123128         END DO   
     
    125130      END DO                                           !   End of slab 
    126131      !                                                ! =============== 
     132 
     133      ! save the vertical advection trends for diagnostic 
     134      ! momentum trends 
     135      IF( l_trddyn )   THEN 
     136         ztdua(:,:,:) = ua(:,:,:) - ztdua(:,:,:) 
     137         ztdva(:,:,:) = va(:,:,:) - ztdva(:,:,:) 
     138 
     139         CALL trd_mod(ztdua, ztdva, jpdtdzad, 'DYN', kt) 
     140      ENDIF 
    127141 
    128142      IF(l_ctl) THEN         ! print sum trends (used for debugging) 
     
    170184      REAL(wp), DIMENSION(jpi,jpj) ::   & 
    171185         zww                           ! temporary  workspace 
     186      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   & 
     187         ztdua, ztdva                  ! temporary workspace 
    172188      !!---------------------------------------------------------------------- 
    173189       
     
    176192         IF(lwp)WRITE(numout,*) 'dyn_zad : arakawa advection scheme' 
    177193         IF(lwp)WRITE(numout,*) '~~~~~~~   vector optimization k-j-i loop' 
     194      ENDIF 
     195 
     196      ! Save ua and va trends 
     197      IF( l_trddyn )   THEN 
     198         ztdua(:,:,:) = ua(:,:,:)  
     199         ztdva(:,:,:) = va(:,:,:)  
    178200      ENDIF 
    179201       
     
    218240               ua(ji,jj,jk) = ua(ji,jj,jk) + zua 
    219241               va(ji,jj,jk) = va(ji,jj,jk) + zva 
    220 #   if defined key_trddyn || defined key_trd_vor 
    221                ! save the trends for diagnostics 
    222                utrd(ji,jj,jk,6) = zua 
    223                vtrd(ji,jj,jk,6) = zva 
    224 #   endif 
    225242            END DO   
    226243         END DO   
    227244      END DO 
     245 
     246      ! save the vertical advection trends for diagnostic 
     247      ! momentum trends 
     248      IF( l_trddyn )   THEN 
     249         ztdua(:,:,:) = ua(:,:,:) - ztdua(:,:,:) 
     250         ztdva(:,:,:) = va(:,:,:) - ztdva(:,:,:) 
     251 
     252         CALL trd_mod(ztdua, ztdva, jpdtdzad, 'DYN', kt) 
     253      ENDIF 
    228254 
    229255      IF(l_ctl) THEN         ! print sum trends (used for debugging) 
Note: See TracChangeset for help on using the changeset viewer.