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 7351 for branches/2016/dev_INGV_UKMO_2016/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90 – NEMO

Ignore:
Timestamp:
2016-11-28T17:04:10+01:00 (7 years ago)
Author:
emanuelaclementi
Message:

ticket #1805 step 3: /2016/dev_INGV_UKMO_2016 aligned to the trunk at revision 7161

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_INGV_UKMO_2016/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90

    r5215 r7351  
    2929   PUBLIC   bdy_dyn3d_dmp ! routine called by step 
    3030 
    31    !! * Substitutions 
    32 #  include "domzgr_substitute.h90" 
    3331   !!---------------------------------------------------------------------- 
    3432   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
     
    4543      !! 
    4644      !!---------------------------------------------------------------------- 
    47       INTEGER, INTENT( in ) :: kt     ! Main time step counter 
    48       !! 
    49       INTEGER               :: ib_bdy ! loop index 
    50       !! 
    51  
     45      INTEGER, INTENT(in) ::   kt   ! Main time step counter 
     46      ! 
     47      INTEGER ::   ib_bdy  ! loop index 
     48      !!---------------------------------------------------------------------- 
     49      ! 
    5250      DO ib_bdy=1, nb_bdy 
    53  
     51         ! 
    5452         SELECT CASE( cn_dyn3d(ib_bdy) ) 
    55          CASE('none') 
    56             CYCLE 
    57          CASE('frs') 
    58             CALL bdy_dyn3d_frs( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 
    59          CASE('specified') 
    60             CALL bdy_dyn3d_spe( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 
    61          CASE('zero') 
    62             CALL bdy_dyn3d_zro( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 
    63          CASE('orlanski') 
    64             CALL bdy_dyn3d_orlanski( idx_bdy(ib_bdy), dta_bdy(ib_bdy), ib_bdy, ll_npo=.false. ) 
    65          CASE('orlanski_npo') 
    66             CALL bdy_dyn3d_orlanski( idx_bdy(ib_bdy), dta_bdy(ib_bdy), ib_bdy, ll_npo=.true. ) 
    67          CASE DEFAULT 
    68             CALL ctl_stop( 'bdy_dyn3d : unrecognised option for open boundaries for baroclinic velocities' ) 
     53         CASE('none')        ;   CYCLE 
     54         CASE('frs' )        ;   CALL bdy_dyn3d_frs( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 
     55         CASE('specified')   ;   CALL bdy_dyn3d_spe( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 
     56         CASE('zero')        ;   CALL bdy_dyn3d_zro( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 
     57         CASE('orlanski' )   ;   CALL bdy_dyn3d_orlanski( idx_bdy(ib_bdy), dta_bdy(ib_bdy), ib_bdy, ll_npo=.false. ) 
     58         CASE('orlanski_npo');   CALL bdy_dyn3d_orlanski( idx_bdy(ib_bdy), dta_bdy(ib_bdy), ib_bdy, ll_npo=.true. ) 
     59         CASE DEFAULT        ;   CALL ctl_stop( 'bdy_dyn3d : unrecognised option for open boundaries for baroclinic velocities' ) 
    6960         END SELECT 
    70       ENDDO 
    71  
     61      END DO 
     62      ! 
    7263   END SUBROUTINE bdy_dyn3d 
     64 
    7365 
    7466   SUBROUTINE bdy_dyn3d_spe( idx, dta, kt , ib_bdy ) 
     
    8072      !! 
    8173      !!---------------------------------------------------------------------- 
    82       INTEGER                     ::   kt 
    83       TYPE(OBC_INDEX), INTENT(in) ::   idx  ! OBC indices 
    84       TYPE(OBC_DATA),  INTENT(in) ::   dta  ! OBC external data 
    85       INTEGER,        INTENT(in) ::   ib_bdy  ! BDY set index 
    86       !! 
     74      INTEGER        , INTENT(in) ::   kt      ! time step index 
     75      TYPE(OBC_INDEX), INTENT(in) ::   idx     ! OBC indices 
     76      TYPE(OBC_DATA) , INTENT(in) ::   dta     ! OBC external data 
     77      INTEGER        , INTENT(in) ::   ib_bdy  ! BDY set index 
     78      ! 
    8779      INTEGER  ::   jb, jk         ! dummy loop indices 
    8880      INTEGER  ::   ii, ij, igrd   ! local integers 
     
    112104      CALL lbc_bdy_lnk( va, 'V', -1., ib_bdy )    
    113105      ! 
    114       IF( kt .eq. nit000 ) CLOSE( unit = 102 ) 
    115  
     106      IF( kt == nit000 )  CLOSE( unit = 102 ) 
     107      ! 
    116108      IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_spe') 
    117  
     109      ! 
    118110   END SUBROUTINE bdy_dyn3d_spe 
    119111 
     112 
    120113   SUBROUTINE bdy_dyn3d_zro( idx, dta, kt, ib_bdy ) 
    121114      !!---------------------------------------------------------------------- 
     
    125118      !! 
    126119      !!---------------------------------------------------------------------- 
    127       INTEGER                     ::   kt 
    128       TYPE(OBC_INDEX), INTENT(in) ::   idx  ! OBC indices 
    129       TYPE(OBC_DATA),  INTENT(in) ::   dta  ! OBC external data 
     120      INTEGER        , INTENT(in) ::   kt      ! time step index 
     121      TYPE(OBC_INDEX), INTENT(in) ::   idx     ! OBC indices 
     122      TYPE(OBC_DATA) , INTENT(in) ::   dta     ! OBC external data 
    130123      INTEGER,         INTENT(in) ::   ib_bdy  ! BDY set index 
    131       !! 
     124      ! 
    132125      INTEGER  ::   ib, ik         ! dummy loop indices 
    133       INTEGER  ::   ii, ij, igrd, zcoef   ! local integers 
     126      INTEGER  ::   ii, ij, igrd   ! local integers 
    134127      REAL(wp) ::   zwgt           ! boundary weight 
    135128      !!---------------------------------------------------------------------- 
     
    157150      CALL lbc_bdy_lnk( ua, 'U', -1., ib_bdy )   ;   CALL lbc_bdy_lnk( va, 'V', -1.,ib_bdy )   ! Boundary points should be updated 
    158151      ! 
    159       IF( kt .eq. nit000 ) CLOSE( unit = 102 ) 
    160  
    161       IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_zro') 
    162  
     152      IF( kt == nit000 )  CLOSE( unit = 102 ) 
     153      ! 
     154      IF( nn_timing == 1 )   CALL timing_stop('bdy_dyn3d_zro') 
     155      ! 
    163156   END SUBROUTINE bdy_dyn3d_zro 
     157 
    164158 
    165159   SUBROUTINE bdy_dyn3d_frs( idx, dta, kt, ib_bdy ) 
     
    174168      !!               topography. Tellus, 365-382. 
    175169      !!---------------------------------------------------------------------- 
    176       INTEGER                     ::   kt 
    177       TYPE(OBC_INDEX), INTENT(in) ::   idx  ! OBC indices 
    178       TYPE(OBC_DATA),  INTENT(in) ::   dta  ! OBC external data 
     170      INTEGER        , INTENT(in) ::   kt      ! time step index 
     171      TYPE(OBC_INDEX), INTENT(in) ::   idx     ! OBC indices 
     172      TYPE(OBC_DATA) , INTENT(in) ::   dta     ! OBC external data 
    179173      INTEGER,         INTENT(in) ::   ib_bdy  ! BDY set index 
    180       !! 
     174      ! 
    181175      INTEGER  ::   jb, jk         ! dummy loop indices 
    182176      INTEGER  ::   ii, ij, igrd   ! local integers 
     
    208202      CALL lbc_bdy_lnk( va, 'V', -1., ib_bdy )    
    209203      ! 
    210       IF( kt .eq. nit000 ) CLOSE( unit = 102 ) 
    211  
    212       IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_frs') 
    213  
     204      IF( kt == nit000 )  CLOSE( unit = 102 ) 
     205      ! 
     206      IF( nn_timing == 1 )   CALL timing_stop('bdy_dyn3d_frs') 
     207      ! 
    214208   END SUBROUTINE bdy_dyn3d_frs 
     209 
    215210 
    216211   SUBROUTINE bdy_dyn3d_orlanski( idx, dta, ib_bdy, ll_npo ) 
     
    259254      !! 
    260255      !!---------------------------------------------------------------------- 
    261       INTEGER                     ::   kt 
    262       !! 
     256      INTEGER, INTENT(in) ::   kt   ! time step index 
     257      ! 
    263258      INTEGER  ::   jb, jk         ! dummy loop indices 
     259      INTEGER  ::   ib_bdy         ! loop index 
    264260      INTEGER  ::   ii, ij, igrd   ! local integers 
    265261      REAL(wp) ::   zwgt           ! boundary weight 
    266       INTEGER  ::  ib_bdy          ! loop index 
    267       !!---------------------------------------------------------------------- 
    268       ! 
    269       IF( nn_timing == 1 ) CALL timing_start('bdy_dyn3d_dmp') 
    270       ! 
    271       !------------------------------------------------------- 
    272  
     262      !!---------------------------------------------------------------------- 
     263      ! 
     264      IF( nn_timing == 1 )   CALL timing_start('bdy_dyn3d_dmp') 
     265      ! 
    273266      DO ib_bdy=1, nb_bdy 
    274267         IF ( ln_dyn3d_dmp(ib_bdy) .and. cn_dyn3d(ib_bdy) /= 'none' ) THEN 
     
    295288            END DO 
    296289         ENDIF 
    297       ENDDO 
     290      END DO 
    298291      ! 
    299292      CALL lbc_lnk( ua, 'U', -1. )   ;   CALL lbc_lnk( va, 'V', -1. )   ! Boundary points should be updated 
    300293      ! 
    301       IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_dmp') 
    302  
     294      IF( nn_timing == 1 )   CALL timing_stop('bdy_dyn3d_dmp') 
     295      ! 
    303296   END SUBROUTINE bdy_dyn3d_dmp 
    304297 
     
    311304      WRITE(*,*) 'bdy_dyn3d: You should not have seen this print! error?', kt 
    312305   END SUBROUTINE bdy_dyn3d 
    313  
    314306   SUBROUTINE bdy_dyn3d_dmp( kt )      ! Empty routine 
    315307      WRITE(*,*) 'bdy_dyn3d_dmp: You should not have seen this print! error?', kt 
    316308   END SUBROUTINE bdy_dyn3d_dmp 
    317  
    318309#endif 
    319310 
Note: See TracChangeset for help on using the changeset viewer.