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 5951 for branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90 – NEMO

Ignore:
Timestamp:
2015-11-30T12:48:01+01:00 (8 years ago)
Author:
timgraham
Message:

Merged trunk r5936 into branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90

    r5950 r5951  
    2929   USE iom             ! IOM library 
    3030   USE in_out_manager  ! I/O logical units 
    31    USE dynspg_oce, ONLY: lk_dynspg_ts ! Split-explicit free surface flag 
    3231#if defined key_lim2 
    3332   USE ice_2 
     
    388387      END DO  ! ib_bdy 
    389388 
    390       ! bg jchanut tschanges 
    391389#if defined key_tide 
    392       ! Add tides if not split-explicit free surface else this is done in ts loop 
    393       IF (.NOT.lk_dynspg_ts) CALL bdy_dta_tides( kt=kt, time_offset=time_offset ) 
    394 #endif 
    395       ! end jchanut tschanges 
     390      IF (ln_dynspg_ts) THEN      ! Fill temporary arrays with slow-varying bdy data                            
     391         DO ib_bdy = 1, nb_bdy    ! Tidal component added in ts loop 
     392            IF ( nn_dyn2d_dta(ib_bdy) .ge. 2 ) THEN 
     393               nblen => idx_bdy(ib_bdy)%nblen 
     394               nblenrim => idx_bdy(ib_bdy)%nblenrim 
     395               IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN; ilen1(:)=nblen(:) ; ELSE ; ilen1(:)=nblenrim(:) ; ENDIF  
     396               IF ( dta_bdy(ib_bdy)%ll_ssh ) dta_bdy_s(ib_bdy)%ssh(1:ilen1(1)) = dta_bdy(ib_bdy)%ssh(1:ilen1(1)) 
     397               IF ( dta_bdy(ib_bdy)%ll_u2d ) dta_bdy_s(ib_bdy)%u2d(1:ilen1(2)) = dta_bdy(ib_bdy)%u2d(1:ilen1(2)) 
     398               IF ( dta_bdy(ib_bdy)%ll_v2d ) dta_bdy_s(ib_bdy)%v2d(1:ilen1(3)) = dta_bdy(ib_bdy)%v2d(1:ilen1(3)) 
     399            ENDIF 
     400         END DO 
     401      ELSE ! Add tides if not split-explicit free surface else this is done in ts loop 
     402         ! 
     403         CALL bdy_dta_tides( kt=kt, time_offset=time_offset ) 
     404      ENDIF 
     405#endif 
    396406 
    397407      IF ( ln_apr_obc ) THEN 
     
    423433      !!                 
    424434      !!---------------------------------------------------------------------- 
    425       USE dynspg_oce, ONLY: lk_dynspg_ts 
    426435      !! 
    427436      INTEGER     ::  ib_bdy, jfld, jstart, jend, ierror  ! local indices 
     
    430439      CHARACTER(len=100)                     ::   cn_dir        ! Root directory for location of data files 
    431440      CHARACTER(len=100), DIMENSION(nb_bdy)  ::   cn_dir_array  ! Root directory for location of data files 
     441      CHARACTER(len = 256)::   clname                           ! temporary file name 
    432442      LOGICAL                                ::   ln_full_vel   ! =T => full velocities in 3D boundary data 
    433443                                                                ! =F => baroclinic velocities in 3D boundary data 
     
    669679            ! sea ice 
    670680            IF( nn_ice_lim_dta(ib_bdy) .eq. 1 ) THEN 
    671  
    672681               ! Test for types of ice input (lim2 or lim3)  
    673                CALL iom_open ( bn_a_i%clname, inum ) 
    674                id1 = iom_varid ( inum, bn_a_i%clvar, kdimsz=zdimsz, kndims=zndims, ldstop = .FALSE. ) 
     682               ! Build file name to find dimensions  
     683               clname=TRIM(bn_a_i%clname) 
     684               IF( .NOT. bn_a_i%ln_clim ) THEN    
     685                                                  WRITE(clname, '(a,"_y",i4.4)' ) TRIM( bn_a_i%clname ), nyear    ! add year 
     686                  IF( bn_a_i%cltype /= 'yearly' ) WRITE(clname, '(a,"m" ,i2.2)' ) TRIM( clname        ), nmonth   ! add month 
     687               ELSE 
     688                  IF( bn_a_i%cltype /= 'yearly' ) WRITE(clname, '(a,"_m",i2.2)' ) TRIM( bn_a_i%clname ), nmonth   ! add month 
     689               ENDIF 
     690               IF( bn_a_i%cltype == 'daily' .OR. bn_a_i%cltype(1:4) == 'week' ) & 
     691               &                                  WRITE(clname, '(a,"d" ,i2.2)' ) TRIM( clname        ), nday     ! add day 
     692               ! 
     693               CALL iom_open  ( clname, inum ) 
     694               id1 = iom_varid( inum, bn_a_i%clvar, kdimsz=zdimsz, kndims=zndims, ldstop = .FALSE. ) 
    675695               CALL iom_close ( inum ) 
    676                !CALL fld_clopn ( bn_a_i, nyear, nmonth, nday, ldstop=.TRUE. ) 
    677                !CALL iom_open ( bn_a_i%clname, inum ) 
    678                !id1 = iom_varid ( bn_a_i%num, bn_a_i%clvar, kdimsz=zdimsz, kndims=zndims, ldstop = .FALSE. ) 
     696 
    679697                IF ( zndims == 4 ) THEN 
    680698                 ll_bdylim3 = .TRUE.   ! lim3 input 
Note: See TracChangeset for help on using the changeset viewer.