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 6717 for branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90 – NEMO

Ignore:
Timestamp:
2016-06-17T12:00:46+02:00 (8 years ago)
Author:
gm
Message:

#1692 - branch SIMPLIF_2_usrdef: numerous improvement in the user defined interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90

    r6140 r6717  
    100100 
    101101      DO ib_bdy = 1, nb_bdy 
    102          IF( nn_dyn2d_dta(ib_bdy) .ge. 2 ) THEN 
    103  
     102         IF( nn_dyn2d_dta(ib_bdy) >= 2 ) THEN 
     103            ! 
    104104            td => tides(ib_bdy) 
    105105            nblen => idx_bdy(ib_bdy)%nblen 
     
    134134            ! JC: If FRS scheme is used, we assume that tidal is needed over the whole 
    135135            ! relaxation area       
    136             IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN 
    137                ilen0(:)=nblen(:) 
    138             ELSE 
    139                ilen0(:)=nblenrim(:) 
     136            IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN   ;   ilen0(:) = nblen   (:) 
     137            ELSE                                   ;   ilen0(:) = nblenrim(:) 
    140138            ENDIF 
    141139 
     
    156154            td%v   (:,:,:) = 0._wp 
    157155 
    158             IF (ln_bdytide_2ddta) THEN 
     156            IF( ln_bdytide_2ddta ) THEN 
    159157               ! It is assumed that each data file contains all complex harmonic amplitudes 
    160                ! given on the data domain (ie global, jpidta x jpjdta) 
    161                ! 
    162                CALL wrk_alloc( jpi, jpj, zti, ztr ) 
     158               ! given on the global domain (ie global, jpiglo x jpjglo) 
     159               ! 
     160               CALL wrk_alloc( jpi,jpj,  zti, ztr ) 
    163161               ! 
    164162               ! SSH fields 
    165163               clfile = TRIM(filtide)//'_grid_T.nc' 
    166                CALL iom_open (clfile , inum )  
     164               CALL iom_open( clfile , inum )  
    167165               igrd = 1                       ! Everything is at T-points here 
    168166               DO itide = 1, nb_harmo 
    169                   CALL iom_get  ( inum, jpdom_data, TRIM(Wave(ntide(itide))%cname_tide)//'_z1', ztr(:,:) ) 
    170                   CALL iom_get  ( inum, jpdom_data, TRIM(Wave(ntide(itide))%cname_tide)//'_z2', zti(:,:) )  
     167                  CALL iom_get( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_z1', ztr(:,:) ) 
     168                  CALL iom_get( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_z2', zti(:,:) )  
    171169                  DO ib = 1, ilen0(igrd) 
    172170                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     
    180178               ! U fields 
    181179               clfile = TRIM(filtide)//'_grid_U.nc' 
    182                CALL iom_open (clfile , inum )  
     180               CALL iom_open( clfile , inum )  
    183181               igrd = 2                       ! Everything is at U-points here 
    184182               DO itide = 1, nb_harmo 
    185                   CALL iom_get  ( inum, jpdom_data, TRIM(Wave(ntide(itide))%cname_tide)//'_u1', ztr(:,:) ) 
    186                   CALL iom_get  ( inum, jpdom_data, TRIM(Wave(ntide(itide))%cname_tide)//'_u2', zti(:,:) ) 
     183                  CALL iom_get  ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_u1', ztr(:,:) ) 
     184                  CALL iom_get  ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_u2', zti(:,:) ) 
    187185                  DO ib = 1, ilen0(igrd) 
    188186                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     
    196194               ! V fields 
    197195               clfile = TRIM(filtide)//'_grid_V.nc' 
    198                CALL iom_open (clfile , inum )  
     196               CALL iom_open( clfile , inum )  
    199197               igrd = 3                       ! Everything is at V-points here 
    200198               DO itide = 1, nb_harmo 
    201                   CALL iom_get  ( inum, jpdom_data, TRIM(Wave(ntide(itide))%cname_tide)//'_v1', ztr(:,:) ) 
    202                   CALL iom_get  ( inum, jpdom_data, TRIM(Wave(ntide(itide))%cname_tide)//'_v2', zti(:,:) ) 
     199                  CALL iom_get  ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_v1', ztr(:,:) ) 
     200                  CALL iom_get  ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_v2', zti(:,:) ) 
    203201                  DO ib = 1, ilen0(igrd) 
    204202                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     
    210208               CALL iom_close( inum ) 
    211209               ! 
    212                CALL wrk_dealloc( jpi, jpj, ztr, zti )  
     210               CALL wrk_dealloc( jpi,jpj,  ztr, zti )  
    213211               ! 
    214212            ELSE             
     
    219217               ! 
    220218               ! Set map structure 
    221                ibmap_ptr(1)%ptr => idx_bdy(ib_bdy)%nbmap(:,1) 
    222                ibmap_ptr(1)%ll_unstruc = ln_coords_file(ib_bdy) 
    223                ibmap_ptr(2)%ptr => idx_bdy(ib_bdy)%nbmap(:,2) 
    224                ibmap_ptr(2)%ll_unstruc = ln_coords_file(ib_bdy) 
    225                ibmap_ptr(3)%ptr => idx_bdy(ib_bdy)%nbmap(:,3) 
    226                ibmap_ptr(3)%ll_unstruc = ln_coords_file(ib_bdy) 
     219               ibmap_ptr(1)%ptr => idx_bdy(ib_bdy)%nbmap(:,1)   ;   ibmap_ptr(1)%ll_unstruc = ln_coords_file(ib_bdy) 
     220               ibmap_ptr(2)%ptr => idx_bdy(ib_bdy)%nbmap(:,2)   ;   ibmap_ptr(2)%ll_unstruc = ln_coords_file(ib_bdy) 
     221               ibmap_ptr(3)%ptr => idx_bdy(ib_bdy)%nbmap(:,3)   ;   ibmap_ptr(3)%ll_unstruc = ln_coords_file(ib_bdy) 
    227222 
    228223               ! Open files and read in tidal forcing data 
     
    258253               ! 
    259254               DEALLOCATE( dta_read ) 
     255               ! 
    260256            ENDIF ! ln_bdytide_2ddta=.true. 
    261257            ! 
     
    275271            dta_bdy_s(ib_bdy)%v2d(:) = 0._wp 
    276272            ! 
    277          ENDIF ! nn_dyn2d_dta(ib_bdy) .ge. 2 
     273         ENDIF ! nn_dyn2d_dta(ib_bdy) >= 2 
    278274         ! 
    279275      END DO ! loop on ib_bdy 
     
    376372   END SUBROUTINE bdytide_update 
    377373 
     374 
    378375   SUBROUTINE bdy_dta_tides( kt, kit, time_offset ) 
    379376      !!---------------------------------------------------------------------- 
     
    422419 
    423420      DO ib_bdy = 1,nb_bdy 
    424  
    425          IF ( nn_dyn2d_dta(ib_bdy) .ge. 2 ) THEN 
    426  
     421         ! 
     422         IF( nn_dyn2d_dta(ib_bdy) >= 2 ) THEN 
     423            ! 
    427424            nblen(1:jpbgrd) = idx_bdy(ib_bdy)%nblen(1:jpbgrd) 
    428425            nblenrim(1:jpbgrd) = idx_bdy(ib_bdy)%nblenrim(1:jpbgrd) 
    429  
    430             IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN 
    431                ilen0(:)=nblen(:) 
    432             ELSE 
    433                ilen0(:)=nblenrim(:) 
     426            ! 
     427            IF( cn_dyn2d(ib_bdy) == 'frs' ) THEN   ;   ilen0(:) = nblen   (:) 
     428            ELSE                                   ;   ilen0(:) = nblenrim(:) 
    434429            ENDIF      
    435  
     430            ! 
    436431            ! We refresh nodal factors every day below 
    437432            ! This should be done somewhere else 
Note: See TracChangeset for help on using the changeset viewer.