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 13662 for NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/OCE/DYN/dynspg_ts.F90 – NEMO

Ignore:
Timestamp:
2020-10-22T20:49:56+02:00 (4 years ago)
Author:
clem
Message:

update to almost r4.0.4

Location:
NEMO/branches/2019/dev_r11842_SI3-10_EAP
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11842_SI3-10_EAP

    • Property svn:externals
      •  

        old new  
        1 ^/utils/build/arch@HEAD       arch 
        2 ^/utils/build/makenemo@HEAD   makenemo 
        3 ^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
        6 ^/vendors/FCM@HEAD            ext/FCM 
        7 ^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         1^/utils/build/arch@12130      arch 
         2^/utils/build/makenemo@12191  makenemo 
         3^/utils/build/mk@11662        mk 
         4^/utils/tools_r4.0-HEAD@12672 tools 
         5^/vendors/AGRIF/dev@10586     ext/AGRIF 
         6^/vendors/FCM@10134           ext/FCM 
         7^/vendors/IOIPSL@9655         ext/IOIPSL 
         8 
         9# SETTE mapping (inactive) 
         10#^/utils/CI/sette@12135        sette 
  • NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/OCE/DYN/dynspg_ts.F90

    r11536 r13662  
    4747   USE updtide         ! tide potential 
    4848   USE sbcwave         ! surface wave 
    49    USE diatmb          ! Top,middle,bottom output 
    5049#if defined key_agrif 
    5150   USE agrif_oce_interp ! agrif 
     
    6261   USE iom             ! IOM library 
    6362   USE restart         ! only for lrst_oce 
    64    USE diatmb          ! Top,middle,bottom output 
    6563 
    6664   USE iom   ! to remove 
     
    152150      REAL(wp) ::   r1_2dt_b, z1_hu, z1_hv          ! local scalars 
    153151      REAL(wp) ::   za0, za1, za2, za3              !   -      - 
    154       REAL(wp) ::   zmdi, zztmp, zldg               !   -      - 
     152      REAL(wp) ::   zztmp, zldg               !   -      - 
    155153      REAL(wp) ::   zhu_bck, zhv_bck, zhdiv         !   -      - 
    156154      REAL(wp) ::   zun_save, zvn_save              !   -      - 
     
    175173      !                                         !* Allocate temporary arrays 
    176174      IF( ln_wd_dl ) ALLOCATE( ztwdmask(jpi,jpj), zuwdmask(jpi,jpj), zvwdmask(jpi,jpj), zuwdav2(jpi,jpj), zvwdav2(jpi,jpj)) 
    177       ! 
    178       zmdi=1.e+20                               !  missing data indicator for masking 
    179175      ! 
    180176      zwdramp = r_rn_wdmin1               ! simplest ramp  
     
    491487         ! Set fluxes during predictor step to ensure volume conservation 
    492488         IF( .NOT.Agrif_Root() .AND. ln_bt_fw ) THEN 
    493             IF((nbondi == -1).OR.(nbondi == 2)) THEN 
     489            IF( l_Westedge ) THEN 
    494490               DO jj = 1, jpj 
    495491                  zhU(2:nbghostcells+1,jj) = ubdy_w(1:nbghostcells,jj) * e2u(2:nbghostcells+1,jj) 
     
    497493               END DO 
    498494            ENDIF 
    499             IF((nbondi ==  1).OR.(nbondi == 2)) THEN 
     495            IF( l_Eastedge ) THEN 
    500496               DO jj=1,jpj 
    501497                  zhU(nlci-nbghostcells-1:nlci-2,jj) = ubdy_e(1:nbghostcells,jj) * e2u(nlci-nbghostcells-1:nlci-2,jj) 
     
    503499               END DO 
    504500            ENDIF 
    505             IF((nbondj == -1).OR.(nbondj == 2)) THEN 
     501            IF( l_Southedge ) THEN 
    506502               DO ji=1,jpi 
    507503                  zhV(ji,2:nbghostcells+1) = vbdy_s(ji,1:nbghostcells) * e1v(ji,2:nbghostcells+1) 
     
    509505               END DO 
    510506            ENDIF 
    511             IF((nbondj ==  1).OR.(nbondj == 2)) THEN 
     507            IF( l_Northedge ) THEN 
    512508               DO ji=1,jpi 
    513509                  zhV(ji,nlcj-nbghostcells-1:nlcj-2) = vbdy_n(ji,1:nbghostcells) * e1v(ji,nlcj-nbghostcells-1:nlcj-2) 
     
    687683            hvr_e(2:jpim1,2:jpjm1) = ssvmask(2:jpim1,2:jpjm1) / ( hv_e(2:jpim1,2:jpjm1) + 1._wp - ssvmask(2:jpim1,2:jpjm1) ) 
    688684            CALL lbc_lnk_multi( 'dynspg_ts', ua_e , 'U', -1._wp, va_e , 'V', -1._wp  & 
    689                  &                         , hu_e , 'U', -1._wp, hv_e , 'V', -1._wp  & 
    690                  &                         , hur_e, 'U', -1._wp, hvr_e, 'V', -1._wp  ) 
     685                 &                         , hu_e , 'U',  1._wp, hv_e , 'V',  1._wp  & 
     686                 &                         , hur_e, 'U',  1._wp, hvr_e, 'V',  1._wp  ) 
    691687         ELSE 
    692688            CALL lbc_lnk_multi( 'dynspg_ts', ua_e , 'U', -1._wp, va_e , 'V', -1._wp  ) 
     
    803799 
    804800      IF ( ln_wd_dl .and. ln_wd_dl_bc) THEN  
     801         ! need to set lbc here because not done prior time averaging 
     802         CALL lbc_lnk_multi( 'dynspg_ts', zuwdav2, 'U', 1._wp, zvwdav2, 'V', 1._wp) 
    805803         DO jk = 1, jpkm1 
    806804            un(:,:,jk) = ( un_adv(:,:)*r1_hu_n(:,:) & 
     
    836834      IF( ln_wd_dl )   DEALLOCATE( ztwdmask, zuwdmask, zvwdmask, zuwdav2, zvwdav2 ) 
    837835      ! 
    838       IF( ln_diatmb ) THEN 
    839          CALL iom_put( "baro_u" , un_b*ssumask(:,:)+zmdi*(1.-ssumask(:,:) ) )  ! Barotropic  U Velocity 
    840          CALL iom_put( "baro_v" , vn_b*ssvmask(:,:)+zmdi*(1.-ssvmask(:,:) ) )  ! Barotropic  V Velocity 
    841       ENDIF 
     836      CALL iom_put( "baro_u" , un_b )  ! Barotropic  U Velocity 
     837      CALL iom_put( "baro_v" , vn_b )  ! Barotropic  V Velocity 
    842838      ! 
    843839   END SUBROUTINE dyn_spg_ts 
     
    14691465      !                    !==  Set the barotropic drag coef.  ==! 
    14701466      ! 
    1471       IF( ln_isfcav ) THEN          ! top+bottom friction (ocean cavities) 
     1467      IF( ln_isfcav.OR.ln_drgice_imp ) THEN          ! top+bottom friction (ocean cavities) 
    14721468          
    14731469         DO jj = 2, jpjm1 
     
    15321528      !                    !==  TOP stress contribution from baroclinic velocities  ==!   (no W/D case) 
    15331529      ! 
    1534       IF( ln_isfcav ) THEN 
     1530      IF( ln_isfcav.OR.ln_drgice_imp ) THEN 
    15351531         ! 
    15361532         IF( ln_bt_fw ) THEN                ! FORWARD integration: use NOW top baroclinic velocity 
Note: See TracChangeset for help on using the changeset viewer.