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 12127 for NEMO/branches/2019/dev_r12114_ticket_2263/src/OCE/BDY/bdydta.F90 – NEMO

Ignore:
Timestamp:
2019-12-09T18:42:54+01:00 (4 years ago)
Author:
smasson
Message:

dev_r12114_ticket_2263: replace integer kt_offset by real pt_offset, see #2263

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r12114_ticket_2263/src/OCE/BDY/bdydta.F90

    r12116 r12127  
    7575CONTAINS 
    7676 
    77    SUBROUTINE bdy_dta( kt, kit, kt_offset ) 
     77   SUBROUTINE bdy_dta( kt, kit, pt_offset ) 
    7878      !!---------------------------------------------------------------------- 
    7979      !!                   ***  SUBROUTINE bdy_dta  *** 
     
    8686      INTEGER, INTENT(in)           ::   kt           ! ocean time-step index  
    8787      INTEGER, INTENT(in), OPTIONAL ::   kit          ! subcycle time-step index (for timesplitting option) 
    88       INTEGER, INTENT(in), OPTIONAL ::   kt_offset    ! time offset in units of timesteps. NB. if kit 
     88      REAL(wp),INTENT(in), OPTIONAL ::   pt_offset    ! time offset in units of timesteps. NB. if kit 
    8989      !                                               ! is present then units = subcycle timesteps. 
    90       !                                               ! kt_offset = 0 => get data at "now" time level 
    91       !                                               ! kt_offset = -1 => get data at "before" time level 
    92       !                                               ! kt_offset = +1 => get data at "after" time level 
    93       !                                               ! etc. 
    9490      ! 
    9591      INTEGER ::  jbdy, jfld, jstart, jend, ib, jl    ! dummy loop indices 
     
    216212         ! read/update all bdy data 
    217213         ! ------------------------ 
    218          CALL fld_read( kt, 1, bf_alias, kit = kit, kt_offset = kt_offset ) 
     214         CALL fld_read( kt, 1, bf_alias, kit = kit, pt_offset = pt_offset ) 
    219215 
    220216         ! apply some corrections in some specific cases... 
     
    279275         IF( PRESENT(kit) .AND. nn_dyn2d_dta(jbdy) .GE. 2 ) THEN 
    280276            CALL bdytide_update( kt = kt, idx = idx_bdy(jbdy), dta = dta_alias, td = tides(jbdy),   &  
    281                &                 kit = kit, kt_offset = kt_offset ) 
     277               &                 kit = kit, pt_offset = pt_offset ) 
    282278         ENDIF 
    283279 
     
    343339                  nblen => idx_bdy(jbdy)%nblen 
    344340                  nblenrim => idx_bdy(jbdy)%nblenrim 
    345                   IF( cn_dyn2d(jbdy) == 'frs' ) THEN ; ilen1(:)=nblen(:) ; ELSE ; ilen1(:)=nblenrim(:) ; ENDIF  
    346                      IF ( dta_bdy(jbdy)%lneed_ssh   ) dta_bdy_s(jbdy)%ssh(1:ilen1(1)) = dta_bdy(jbdy)%ssh(1:ilen1(1)) 
    347                      IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%u2d(1:ilen1(2)) = dta_bdy(jbdy)%u2d(1:ilen1(2)) 
    348                      IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%v2d(1:ilen1(3)) = dta_bdy(jbdy)%v2d(1:ilen1(3)) 
    349                   ENDIF 
    350                END DO 
    351             ELSE ! Add tides if not split-explicit free surface else this is done in ts loop 
    352                ! 
    353                CALL bdy_dta_tides( kt=kt, kt_offset=kt_offset ) 
    354             ENDIF 
    355          ENDIF 
    356          ! 
    357          IF( ln_timing )   CALL timing_stop('bdy_dta') 
    358          ! 
    359       END SUBROUTINE bdy_dta 
     341                  IF( cn_dyn2d(jbdy) == 'frs' ) THEN   ;   ilen1(:)=nblen(:) 
     342                  ELSE                                 ;   ilen1(:)=nblenrim(:) 
     343                  ENDIF 
     344                  IF ( dta_bdy(jbdy)%lneed_ssh   ) dta_bdy_s(jbdy)%ssh(1:ilen1(1)) = dta_bdy(jbdy)%ssh(1:ilen1(1)) 
     345                  IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%u2d(1:ilen1(2)) = dta_bdy(jbdy)%u2d(1:ilen1(2)) 
     346                  IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%v2d(1:ilen1(3)) = dta_bdy(jbdy)%v2d(1:ilen1(3)) 
     347               ENDIF 
     348            END DO 
     349         ELSE ! Add tides if not split-explicit free surface else this is done in ts loop 
     350            ! 
     351            CALL bdy_dta_tides( kt=kt, pt_offset=pt_offset ) 
     352         ENDIF 
     353      ENDIF 
     354      ! 
     355      IF( ln_timing )   CALL timing_stop('bdy_dta') 
     356      ! 
     357   END SUBROUTINE bdy_dta 
    360358 
    361359 
Note: See TracChangeset for help on using the changeset viewer.