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 2528 for trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90 – NEMO

Ignore:
Timestamp:
2010-12-27T18:33:53+01:00 (13 years ago)
Author:
rblod
Message:

Update NEMOGCM from branch nemo_v3_3_beta

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    • Property svn:eol-style deleted
    • Property svn:executable deleted
    r1876 r2528  
    3939   USE bdydyn          ! Unstructured open boundaries condition (bdy_dyn routine)  
    4040   USE bdyvol          ! Unstructured open boundaries condition (bdy_vol routine) 
    41    USE cla_dynspg      ! cross land advection 
     41   USE cla             ! cross land advection 
    4242   USE in_out_manager  ! I/O manager 
    4343   USE lib_mpp         ! distributed memory computing library 
    4444   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    4545   USE prtctl          ! Print control 
    46    USE agrif_opa_interp 
    4746   USE iom 
    4847   USE restart         ! only for lrst_oce 
     48   USE lib_fortran 
     49#if defined key_agrif 
     50   USE agrif_opa_interp 
     51#endif 
    4952 
    5053   IMPLICIT NONE 
     
    5861#  include "vectopt_loop_substitute.h90" 
    5962   !!---------------------------------------------------------------------- 
    60    !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)  
     63   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    6164   !! $Id$ 
    62    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)  
     65   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    6366   !!---------------------------------------------------------------------- 
    6467 
     
    8588      !!         where (spgu,spgv) are given by: 
    8689      !!            spgu = vertical sum[ e3u (ub+ 2 rdt ua ) ] 
    87       !!                 - grav 2 rdt hu /e1u di[sshn + emp] 
     90      !!                 - grav 2 rdt hu /e1u di[sshn + (emp-rnf)] 
    8891      !!            spgv = vertical sum[ e3v (vb+ 2 rdt va) ] 
    89       !!                 - grav 2 rdt hv /e2v dj[sshn + emp] 
     92      !!                 - grav 2 rdt hv /e2v dj[sshn + (emp-rnf)] 
    9093      !!         and define the first guess from previous computation : 
    9194      !!            zbtd = btda 
     
    186189 
    187190#if defined key_obc 
    188       IF( lk_obc )   CALL obc_dyn( kt )   ! Update velocities on each open boundary with the radiation algorithm 
    189       IF( lk_obc )   CALL obc_vol( kt )   ! Correction of the barotropic componant velocity to control the volume of the system 
     191      CALL obc_dyn( kt )      ! Update velocities on each open boundary with the radiation algorithm 
     192      CALL obc_vol( kt )      ! Correction of the barotropic componant velocity to control the volume of the system 
    190193#endif 
    191194#if defined key_bdy 
    192       ! Update velocities on unstructured boundary using the Flow Relaxation Scheme 
    193       CALL bdy_dyn_frs( kt ) 
    194  
    195       IF (ln_bdy_vol) THEN 
    196       ! Correction of the barotropic component velocity to control the volume of the system 
    197         CALL bdy_vol( kt ) 
    198       ENDIF 
     195      CALL bdy_dyn_frs( kt )       ! Update velocities on unstructured boundary using the Flow Relaxation Scheme 
     196      CALL bdy_vol( kt )           ! Correction of the barotropic component velocity to control the volume of the system 
    199197#endif 
    200198#if defined key_agrif 
    201199      CALL Agrif_dyn( kt )    ! Update velocities on each coarse/fine interfaces  
    202200#endif 
    203 #if defined key_orca_r2 
    204       IF( n_cla == 1 )   CALL dyn_spg_cla( kt )      ! Cross Land Advection (update (ua,va)) 
    205 #endif 
     201      IF( nn_cla == 1 )   CALL cla_dynspg( kt )      ! Cross Land Advection (update (ua,va)) 
    206202 
    207203      ! compute the next vertically averaged velocity (effect of the additional force not included) 
     
    281277      ! ------------------ 
    282278      rnorme =0.e0 
    283       rnorme = SUM( gcb(1:jpi,1:jpj) * gcdmat(1:jpi,1:jpj) * gcb(1:jpi,1:jpj) * bmask(:,:) ) 
    284       IF( lk_mpp )   CALL mpp_sum( rnorme )   ! sum over the global domain 
     279      rnorme = GLOB_SUM( gcb(1:jpi,1:jpj) * gcdmat(1:jpi,1:jpj) * gcb(1:jpi,1:jpj) * bmask(:,:) ) 
    285280 
    286281      epsr = eps * eps * rnorme 
     
    315310#if defined key_obc 
    316311            ! caution : grad D = 0 along open boundaries 
    317             IF( Agrif_Root() ) THEN 
    318                spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 
    319                spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 
    320             ELSE 
    321                spgu(ji,jj) = z2dt * ztdgu 
    322                spgv(ji,jj) = z2dt * ztdgv 
    323             ENDIF 
     312            spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 
     313            spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 
    324314#elif defined key_bdy 
    325315            ! caution : grad D = 0 along open boundaries 
Note: See TracChangeset for help on using the changeset viewer.