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 1129 for trunk/NEMO/OPA_SRC/DYN – NEMO

Ignore:
Timestamp:
2008-06-24T08:45:37+02:00 (16 years ago)
Author:
ctlod
Message:

trunk: compilation error when key_trddyn is active related to the dynamics advection flux formulation, see ticket: #211

Location:
trunk/NEMO/OPA_SRC/DYN
Files:
2 edited

Legend:

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

    r719 r1129  
    1616   USE dynspg_oce     ! surface pressure gradient 
    1717   USE in_out_manager ! I/O manager 
    18    USE dynspg_rl     ! I/O manager 
     18   USE dynspg_rl      ! surface pressure gradient 
     19   USE trdmod         ! ocean dynamics trends 
     20   USE trdmod_oce     ! ocean variables trends 
     21   USE prtctl         ! Print control 
    1922 
    2023   IMPLICIT NONE 
     
    4548      !! 
    4649      !! ** Action : - Update (ua,va) with the now vorticity term trend 
    47       !!             - save the trends in (utrd,vtrd) in 2 parts (relative 
    48       !!               and planetary vorticity trends) ('key_trddyn') 
    4950      !!---------------------------------------------------------------------- 
    5051      USE oce, ONLY:   zfu => ta,   & ! use ta as 3D workspace 
     
    6667      ENDIF 
    6768 
     69      IF( l_trddyn ) THEN           ! Save ua and va trends 
     70         zfu_uw(:,:,:) = ua(:,:,:) 
     71         zfv_vw(:,:,:) = va(:,:,:) 
     72      ENDIF 
    6873 
    6974      ! I. Horizontal advection 
     
    99104               ua(ji,jj,jk) = ua(ji,jj,jk) + zua 
    100105               va(ji,jj,jk) = va(ji,jj,jk) + zva 
    101 #if defined key_trddyn 
    102                utrd(ji,jj,jk,1) = zua                    ! save the horizontal advective trend of momentum 
    103                vtrd(ji,jj,jk,1) = zva  
    104 #endif 
    105106            END DO 
    106107         END DO 
     
    109110      !                                                ! =============== 
    110111 
     112      IF( l_trddyn ) THEN      ! save the horizontal advection trend for diagnostic 
     113         zfu_uw(:,:,:) = ua(:,:,:) - zfu_uw(:,:,:) 
     114         zfv_vw(:,:,:) = va(:,:,:) - zfv_vw(:,:,:) 
     115         CALL trd_mod( zfu_uw, zfv_vw, jpdyn_trd_had, 'DYN', kt ) 
     116      ENDIF 
     117      ! 
    111118 
    112119      ! II. Vertical advection 
    113120      ! ---------------------- 
     121 
     122      IF( l_trddyn ) THEN           ! Save ua and va trends 
     123         zfu_t(:,:,:) = ua(:,:,:) 
     124         zfv_t(:,:,:) = va(:,:,:) 
     125      ENDIF 
    114126 
    115127      ! Second order centered tracer flux at w-point 
     
    159171      END DO 
    160172 
     173      IF( l_trddyn ) THEN      ! save the vertical advection trend for diagnostic 
     174         zfu_t(:,:,:) = ua(:,:,:) - zfu_t(:,:,:) 
     175         zfv_t(:,:,:) = va(:,:,:) - zfv_t(:,:,:) 
     176         CALL trd_mod( zfu_t, zfv_t, jpdyn_trd_zad, 'DYN', kt ) 
     177      ENDIF 
     178 
     179      !                             ! Control print 
     180      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' cen2 adv - Ua: ', mask1=umask,   & 
     181         &                       tab3d_2=va, clinfo2=           ' Va: ', mask2=vmask, clinfo3='dyn' ) 
     182      ! 
    161183   END SUBROUTINE dyn_adv_cen2 
    162184 
  • trunk/NEMO/OPA_SRC/DYN/dynadv_ubs.F90

    r719 r1129  
    1717   USE dynspg_oce     ! surface pressure gradient 
    1818   USE in_out_manager ! I/O manager 
    19    USE dynspg_rl      ! I/O manager 
     19   USE dynspg_rl      ! surface pressure gradient 
    2020   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
     21   USE trdmod         ! ocean dynamics trends 
     22   USE trdmod_oce     ! ocean variables trends 
     23   USE prtctl         ! Print control 
    2124 
    2225   IMPLICIT NONE 
     
    97100      zlv_vu(:,:,:,:) = 0.e0  
    98101 
    99        
     102      IF( l_trddyn ) THEN           ! Save ua and va trends 
     103         zfu_uw(:,:,:) = ua(:,:,:) 
     104         zfv_vw(:,:,:) = va(:,:,:) 
     105      ENDIF 
     106 
    100107      !                                                ! =============== 
    101108      DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    191198               ua(ji,jj,jk) = ua(ji,jj,jk) + zua 
    192199               va(ji,jj,jk) = va(ji,jj,jk) + zva 
    193 #if defined key_trddyn 
    194                utrd(ji,jj,jk,1) = zua                    ! save the horizontal advective trend of momentum 
    195                vtrd(ji,jj,jk,1) = zva  
    196 #endif 
    197200            END DO 
    198201         END DO 
     
    201204      !                                                ! =============== 
    202205 
     206      IF( l_trddyn ) THEN      ! save the horizontal advection trend for diagnostic 
     207         zfu_uw(:,:,:) = ua(:,:,:) - zfu_uw(:,:,:) 
     208         zfv_vw(:,:,:) = va(:,:,:) - zfv_vw(:,:,:) 
     209         CALL trd_mod( zfu_uw, zfv_vw, jpdyn_trd_had, 'DYN', kt ) 
     210      ENDIF 
    203211 
    204212      ! II. Vertical advection 
    205213      ! ---------------------- 
     214 
     215      IF( l_trddyn ) THEN           ! Save ua and va trends 
     216         zfu_t(:,:,:) = ua(:,:,:) 
     217         zfv_t(:,:,:) = va(:,:,:) 
     218      ENDIF 
    206219 
    207220      ! Second order centered tracer flux at w-point 
     
    251264      END DO 
    252265 
     266      IF( l_trddyn ) THEN      ! save the vertical advection trend for diagnostic 
     267         zfu_t(:,:,:) = ua(:,:,:) - zfu_t(:,:,:) 
     268         zfv_t(:,:,:) = va(:,:,:) - zfv_t(:,:,:) 
     269         CALL trd_mod( zfu_t, zfv_t, jpdyn_trd_zad, 'DYN', kt ) 
     270      ENDIF 
     271 
     272      !                             ! Control print 
     273      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' ubs2 adv - Ua: ', mask1=umask,   & 
     274         &                       tab3d_2=va, clinfo2=           ' Va: ', mask2=vmask, clinfo3='dyn' ) 
     275 
    253276   END SUBROUTINE dyn_adv_ubs 
    254277 
Note: See TracChangeset for help on using the changeset viewer.