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 6140 for trunk/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90 – NEMO

Ignore:
Timestamp:
2015-12-21T12:35:23+01:00 (8 years ago)
Author:
timgraham
Message:

Merge of branches/2015/dev_merge_2015 back into trunk. Merge excludes NEMOGCM/TOOLS/OBSTOOLS/ for now due to issues with the change of file type. Will sort these manually with further commits.

Branch merged as follows:
In the working copy of branch ran:
svn merge svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk@HEAD
Small conflicts due to bug fixes applied to trunk since the dev_merge_2015 was copied. Bug fixes were applied to the branch as well so these were easy to resolve.
Branch committed at this stage

In working copy run:
svn switch svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk
to switch working copy

Run:
svn merge --reintegrate svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2015/dev_merge_2015
to merge the branch into the trunk and then commit - no conflicts at this stage.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90

    r5930 r6140  
    8585 
    8686   !! * Substitutions 
    87 #  include "domzgr_substitute.h90" 
    8887#  include "vectopt_loop_substitute.h90" 
    8988   !!---------------------------------------------------------------------- 
     
    107106      USE oce, ONLY:  zts    => tsa 
    108107      USE oce, ONLY:  zuslp  => ua   , zvslp  => va 
    109       USE zdf_oce, ONLY:  zwslpi => avmu , zwslpj => avmv  
    110108      USE oce, ONLY:  zu     => ub   , zv     => vb,  zw => rke 
    111109      ! 
    112110      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    113111      ! 
     112       REAL(wp), DIMENSION(jpi,jpj,jpk     )  :: zwslpi, zwslpj 
    114113!      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts)  :: zts 
    115114!      REAL(wp), DIMENSION(jpi,jpj,jpk     )  :: zuslp, zvslp, zwslpi, zwslpj 
     
    359358                jf_rnf = jfld + 1  ;  jfld  = jf_rnf 
    360359         slf_d(jf_rnf) = sn_rnf 
     360         ! Activate runoff key of sbc_oce 
     361         ln_rnf = .true. 
     362         WRITE(numout,*) 'dta_dyn : Activate the runoff data structure from ocean core ( force ln_rnf = .true.) ' 
     363         WRITE(numout,*) 
    361364      ELSE 
    362365         rnf (:,:) = 0._wp 
     
    421424   END SUBROUTINE dta_dyn_init 
    422425 
     426 
    423427   SUBROUTINE dta_dyn_wzv( pu, pv, pw ) 
    424428      !!---------------------------------------------------------------------- 
     
    449453         DO jj = 2, jpjm1 
    450454            DO ji = fs_2, fs_jpim1   ! vector opt. 
    451                zu  = pu(ji  ,jj  ,jk) * umask(ji  ,jj  ,jk) * e2u(ji  ,jj  ) * fse3u(ji  ,jj  ,jk) 
    452                zu1 = pu(ji-1,jj  ,jk) * umask(ji-1,jj  ,jk) * e2u(ji-1,jj  ) * fse3u(ji-1,jj  ,jk) 
    453                zv  = pv(ji  ,jj  ,jk) * vmask(ji  ,jj  ,jk) * e1v(ji  ,jj  ) * fse3v(ji  ,jj  ,jk) 
    454                zv1 = pv(ji  ,jj-1,jk) * vmask(ji  ,jj-1,jk) * e1v(ji  ,jj-1) * fse3v(ji  ,jj-1,jk) 
    455                zet = 1. / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 
    456                zhdiv(ji,jj,jk) = ( zu - zu1 + zv - zv1 ) * zet  
     455               zu  = pu(ji  ,jj  ,jk) * umask(ji  ,jj  ,jk) * e2u(ji  ,jj  ) * e3u_n(ji  ,jj  ,jk) 
     456               zu1 = pu(ji-1,jj  ,jk) * umask(ji-1,jj  ,jk) * e2u(ji-1,jj  ) * e3u_n(ji-1,jj  ,jk) 
     457               zv  = pv(ji  ,jj  ,jk) * vmask(ji  ,jj  ,jk) * e1v(ji  ,jj  ) * e3v_n(ji  ,jj  ,jk) 
     458               zv1 = pv(ji  ,jj-1,jk) * vmask(ji  ,jj-1,jk) * e1v(ji  ,jj-1) * e3v_n(ji  ,jj-1,jk) 
     459               zhdiv(ji,jj,jk) = ( zu - zu1 + zv - zv1 ) * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk)  
    457460            END DO 
    458461         END DO 
    459462      END DO 
    460463      !                              !  update the horizontal divergence with the runoff inflow 
    461       IF( ln_dynrnf )  zhdiv(:,:,1) = zhdiv(:,:,1) - rnf(:,:) * r1_rau0 / fse3t(:,:,1) 
     464      IF( ln_dynrnf )   zhdiv(:,:,1) = zhdiv(:,:,1) - rnf(:,:) * r1_rau0 / e3t_n(:,:,1) 
    462465      ! 
    463466      CALL lbc_lnk( zhdiv, 'T', 1. )      ! Lateral boundary conditions on zhdiv 
     
    465468      pw(:,:,jpk) = 0._wp 
    466469      DO jk = jpkm1, 1, -1 
    467          pw(:,:,jk) = pw(:,:,jk+1) - fse3t(:,:,jk) * zhdiv(:,:,jk) 
     470         pw(:,:,jk) = pw(:,:,jk+1) - e3t_n(:,:,jk) * zhdiv(:,:,jk) 
    468471      END DO 
    469472      ! 
     
    489492         CALL bn2    ( pts, rab_n, rn2  ) ! now    Brunt-Vaisala 
    490493 
    491          ! Partial steps: before Horizontal DErivative 
    492          IF( ln_zps  .AND. .NOT. ln_isfcav)                            & 
    493             &            CALL zps_hde    ( kt, jpts, pts, gtsu, gtsv,  &  ! Partial steps: before horizontal gradient 
    494             &                                        rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
    495          IF( ln_zps .AND.        ln_isfcav)                            & 
    496             &            CALL zps_hde_isf( kt, jpts, pts, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
    497             &                                        rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    498             &                                 gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) ! of t, s, rd at the first ocean level 
     494      ! Partial steps: before Horizontal DErivative 
     495      IF( ln_zps  .AND. .NOT. ln_isfcav)                            & 
     496         &            CALL zps_hde    ( kt, jpts, pts, gtsu, gtsv,  &  ! Partial steps: before horizontal gradient 
     497         &                                        rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
     498      IF( ln_zps .AND.        ln_isfcav)                            & 
     499         &            CALL zps_hde_isf( kt, jpts, pts, gtsu, gtsv, gtui, gtvi,  &  ! Partial steps for top cell (ISF) 
     500         &                                        rhd, gru , grv , grui, grvi   )  ! of t, s, rd at the first ocean level 
    499501 
    500502         rn2b(:,:,:) = rn2(:,:,:)         ! need for zdfmxl 
Note: See TracChangeset for help on using the changeset viewer.