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 1273 – NEMO

Changeset 1273


Ignore:
Timestamp:
2009-01-19T16:31:07+01:00 (15 years ago)
Author:
ctlod
Message:

update Gibrlatar, Bab El Mandeb and Sound straits in both full & partial steps bathymetry files such as closed seas, see ticket: #305

Location:
trunk/NEMO/OPA_SRC
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DIA/diafwb.F90

    r1152 r1273  
    160160         CASE ( 2 )                                  !  ORCA_R2 configuration 
    161161            !                                        ! ======================= 
    162             ii0 = 139   ;   ii1 = 139 
     162            ii0 = 140   ;   ii1 = 140 
    163163            ij0 = 102   ;   ij1 = 102 
    164164            !                                        ! ======================= 
     
    171171         DO ji = mi0(ii0), mi1(ii1) 
    172172            DO jj = mj0(ij0), mj1(ij1) 
    173                DO jk = 1, 18  
     173               DO jk = 1, jpk  
    174174                  zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) 
    175175                  zs = 0.5 * ( sn(ji,jj,jk) + sn(ji+1,jj,jk) ) 
     
    203203            !                                        ! ======================= 
    204204            ii0 = 137   ;   ii1 = 137 
    205             ij0 = 102   ;   ij1 = 102 
     205            ij0 = 101   ;   ij1 = 102 
    206206            !                                        ! ======================= 
    207207         CASE DEFAULT                                !    ORCA R05 or R025 
     
    213213         DO ji = mi0(ii0), mi1(ii1) 
    214214            DO jj = mj0(ij0), mj1(ij1) 
    215                DO jk = 1, 23  
     215               DO jk = 1, jpk  
    216216                  zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) 
    217217                  zs = 0.5 * ( sn(ji,jj,jk) + sn(ji+1,jj,jk) ) 
     
    244244         CASE ( 2 )                                  !  ORCA_R2 configuration 
    245245            !                                        ! ======================= 
    246             ii0 = 161   ;   ii1 = 161 
     246            ii0 = 160   ;   ii1 = 160 
    247247            ij0 = 88    ;   ij1 = 88  
    248248            !                                        ! ======================= 
     
    255255         DO ji = mi0(ii0), mi1(ii1) 
    256256            DO jj = mj0(ij0), mj1(ij1) 
    257                DO jk = 1, 15  
     257               DO jk = 1, jpk  
    258258                  zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) 
    259259                  zs = 0.5 * ( sn(ji,jj,jk) + sn(ji+1,jj,jk) ) 
     
    297297         DO ji = mi0(ii0), mi1(ii1) 
    298298            DO jj = mj0(ij0), mj1(ij1) 
    299                DO jk = 1, 20 
     299               DO jk = 1, jpk 
    300300                  zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) 
    301301                  zs = 0.5 * ( sn(ji,jj,jk) + sn(ji+1,jj,jk) ) 
     
    318318      ! Sum at each time-step 
    319319      DO jt = 1, 4  
    320          IF( zflxi(jt) /= 0.e0 .AND. zflxo(jt) /= 0.e0 ) THEN 
     320         ! 
     321         IF( zflxi(jt) /= 0.e0 ) THEN 
    321322            a_flxi(jt) = a_flxi(jt) + zflxi(jt) 
    322323            a_temi(jt) = a_temi(jt) + ztemi(jt)/zflxi(jt) 
    323324            a_sali(jt) = a_sali(jt) + zsali(jt)/zflxi(jt) 
     325         ENDIF 
     326         ! 
     327         IF( zflxo(jt) /= 0.e0 ) THEN 
    324328            a_flxo(jt) = a_flxo(jt) + zflxo(jt) 
    325329            a_temo(jt) = a_temo(jt) + ztemo(jt)/zflxo(jt) 
    326330            a_salo(jt) = a_salo(jt) + zsalo(jt)/zflxo(jt) 
    327331         ENDIF 
     332         ! 
    328333      END DO 
    329334 
     
    417422 9010 FORMAT(1X,A,ES12.5,A,F10.5,A) 
    418423 9020 FORMAT(1X,A,F10.5,A) 
    419  9030 FORMAT(1X,A,F8.2,A) 
     424 9030 FORMAT(1X,A,F9.4,A) 
    420425 
    421426   END SUBROUTINE dia_fwb 
  • trunk/NEMO/OPA_SRC/DOM/domhgr.F90

    r1152 r1273  
    139139            !                                             ! ===================== 
    140140            IF( n_cla == 0 ) THEN 
    141  
     141               ! 
    142142               ii0 = 139   ;   ii1 = 140        ! Gibraltar Strait (e2u = 20 km) 
    143143               ij0 = 102   ;   ij1 = 102   ;   e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  20.e3 
    144144               IF(lwp) WRITE(numout,*) 
    145                IF(lwp) WRITE(numout,*) '             orca_r2: Gibraltar : e2u reduced to 20 km' 
     145               IF(lwp) WRITE(numout,*) '             orca_r2: Gibraltar    : e2u reduced to 20 km' 
     146               ! 
    146147               ii0 = 160   ;   ii1 = 160        ! Bab el Mandeb (e2u = 18 km) 
    147                ij0 =  88   ;   ij1 =  88   ;   e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  18.e3 
     148               ij0 =  88   ;   ij1 =  88   ;   e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  18.e3 
     149                                               e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  30.e3 
    148150               IF(lwp) WRITE(numout,*) 
    149                IF(lwp) WRITE(numout,*) '             orca_r2: Bab el Mandeb: e2u reduced to 18 km' 
     151               IF(lwp) WRITE(numout,*) '             orca_r2: Bab el Mandeb: e2u reduced to 30 km' 
     152               IF(lwp) WRITE(numout,*) '                                     e1v reduced to 18 km' 
    150153            ENDIF 
    151154 
     
    153156            ij0 = 116   ;   ij1 = 116   ;   e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  15.e3 
    154157            IF(lwp) WRITE(numout,*) 
    155             IF(lwp) WRITE(numout,*) '             orca_r2: Reduced e2u at the Sound Strait' 
     158            IF(lwp) WRITE(numout,*) '             orca_r2: Sound Strait : e2u reduced to 15 km' 
    156159            ! 
    157160         ENDIF 
  • trunk/NEMO/OPA_SRC/DOM/dommsk.F90

    r1271 r1273  
    237237      END DO 
    238238 
    239       IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN 
    240          !                                           ! ======================= 
    241          ! modified vmask value in                   !  ORCA_R2 configuration 
    242          ! the vicinity of some straits              ! ======================= 
    243  
    244          IF( n_cla == 1 ) THEN  
    245             !                                ! vmask = 0. on Gibraltar zonal section 
    246             ij0 = 101   ;   ij1 = 101 
    247             ii0 = 138   ;   ii1 = 139   ;   vmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 19:jpk ) = 0.e0 
    248             !                                ! vmask = 0. on Bab el Mandeb zonal section 
    249             ij0 =  87   ;   ij1 =  87 
    250             ii0 = 161   ;   ii1 = 163   ;   vmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 18:jpk ) = 0.e0 
    251          ENDIF 
    252  
    253       ENDIF 
    254        
    255239      ! Lateral boundary conditions 
    256240      CALL lbc_lnk( umask, 'U', 1. ) 
     
    398382         ! 
    399383         IF( n_cla == 0 ) THEN 
    400             !                                ! Sound  strait 
    401             ij0 = 116   ;   ij1 = 117 
    402             ii0 = 147   ;   ii1 = 148   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 10.0e0 
    403          ELSE 
    404             !                                ! Gibraltar strait and Gulf of Cadiz 
     384            !                                ! Gibraltar strait  : partial slip (fmask=0.5) 
     385            ij0 = 101   ;   ij1 = 101 
     386            ii0 = 139   ;   ii1 = 140   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  0.5e0 
    405387            ij0 = 102   ;   ij1 = 102 
    406             ii0 = 137   ;   ii1 = 139   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  0.0e0 
    407             ij0 = 101   ;   ij1 = 101 
    408             ii0 = 139   ;   ii1 = 139   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  0.0e0 
    409             ij0 = 100   ;   ij1 = 100 
    410             ii0 = 137   ;   ii1 = 139   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  0.0e0 
    411             !                                ! Sound  strait 
    412             ij0 = 116   ;   ij1 = 117 
    413             ii0 = 147   ;   ii1 = 148   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 10.0e0 
     388            ii0 = 139   ;   ii1 = 140   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  0.5e0 
     389            ! 
     390            !                                ! Bab el Mandeb : partial slip (fmask=1) 
     391            ij0 =  87   ;   ij1 =  88 
     392            ii0 = 160   ;   ii1 = 160   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  1.e0 
     393            ij0 =  88   ;   ij1 =  88 
     394            ii0 = 159   ;   ii1 = 159   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  1.e0 
     395            ! 
    414396         ENDIF 
     397         !                                ! Sound  strait  : strong slip (fmask > 2) 
     398         ij0 = 115   ;   ij1 = 115 
     399         ii0 = 145   ;   ii1 = 146   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 4.0e0 
     400         ij0 = 116   ;   ij1 = 116 
     401         ii0 = 145   ;   ii1 = 146   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 4.0e0 
    415402         ! 
    416403      ENDIF 
  • trunk/NEMO/OPA_SRC/DOM/domzgr.F90

    r1235 r1273  
    264264      INTEGER  ::   ji, jj, jl, jk            ! dummy loop indices 
    265265      INTEGER  ::   inum                      ! temporary logical unit 
     266      INTEGER  ::   ii0, ii1, ij0, ij1        ! indices 
    266267      INTEGER  ::   ii_bump, ij_bump, ih      ! bump center position 
    267268      REAL(wp) ::   r_bump , h_bump , h_oce   ! bump characteristics  
     
    359360            CALL iom_close (inum) 
    360361            mbathy(:,:) = INT( bathy(:,:) ) 
     362            !                                                ! ===================== 
     363            IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN    ! ORCA R2 configuration 
     364               !                                             ! ===================== 
     365               IF( n_cla == 0 ) THEN 
     366                  ! 
     367                  ii0 = 140   ;   ii1 = 140                  ! Gibraltar Strait open  
     368                  ij0 = 102   ;   ij1 = 102                  ! (Thomson, Ocean Modelling, 1995) 
     369                  DO ji = mi0(ii0), mi1(ii1) 
     370                     DO jj = mj0(ij0), mj1(ij1) 
     371                        mbathy(ji,jj) = 15 
     372                     END DO 
     373                  END DO 
     374                  IF(lwp) WRITE(numout,*) 
     375                  IF(lwp) WRITE(numout,*) '             orca_r2: Gibraltar strait open at i=',ii0,' j=',ij0 
     376                  ! 
     377                  ii0 = 160   ;   ii1 = 160                  ! Bab el mandeb Strait open 
     378                  ij0 = 88    ;   ij1 = 88                   ! (Thomson, Ocean Modelling, 1995) 
     379                  DO ji = mi0(ii0), mi1(ii1) 
     380                     DO jj = mj0(ij0), mj1(ij1) 
     381                        mbathy(ji,jj) = 12 
     382                     END DO 
     383                  END DO 
     384                  IF(lwp) WRITE(numout,*) 
     385                  IF(lwp) WRITE(numout,*) '             orca_r2: Bab el Mandeb strait open at i=',ii0,' j=',ij0 
     386                  ! 
     387               ENDIF 
     388               ! 
     389            ENDIF 
     390            ! 
    361391         ENDIF 
    362392         IF( ln_zps .OR. ln_sco )   THEN              ! zps or sco : read meter bathymetry 
     
    364394            CALL iom_get ( inum, jpdom_data, 'Bathymetry', bathy ) 
    365395            CALL iom_close (inum) 
     396           !                                                ! ===================== 
     397           IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN    ! ORCA R2 configuration 
     398              !                                             ! ===================== 
     399              IF( n_cla == 0 ) THEN 
     400                 ! 
     401                 ii0 = 140   ;   ii1 = 140                  ! Gibraltar Strait open  
     402                 ij0 = 102   ;   ij1 = 102                  ! (Thomson, Ocean Modelling, 1995) 
     403                 DO ji = mi0(ii0), mi1(ii1) 
     404                    DO jj = mj0(ij0), mj1(ij1) 
     405                       bathy(ji,jj) = 284.e0 
     406                    END DO 
     407                 END DO 
     408                 IF(lwp) WRITE(numout,*) 
     409                 IF(lwp) WRITE(numout,*) '             orca_r2: Gibraltar strait open at i=',ii0,' j=',ij0 
     410                 ! 
     411                 ii0 = 160   ;   ii1 = 160                  ! Bab el mandeb Strait open 
     412                 ij0 = 88    ;   ij1 = 88                   ! (Thomson, Ocean Modelling, 1995) 
     413                 DO ji = mi0(ii0), mi1(ii1) 
     414                    DO jj = mj0(ij0), mj1(ij1) 
     415                       bathy(ji,jj) = 137.e0 
     416                    END DO 
     417                 END DO 
     418                 IF(lwp) WRITE(numout,*) 
     419                 IF(lwp) WRITE(numout,*) '             orca_r2: Bab el Mandeb strait open at i=',ii0,' j=',ij0 
     420                 ! 
     421              ENDIF 
     422              ! 
     423           ENDIF 
     424 
    366425         ENDIF 
    367426         !                                            ! =============== ! 
  • trunk/NEMO/OPA_SRC/DTA/dtasal.F90

    r1152 r1273  
    171171              END DO 
    172172           END DO 
     173 
    173174           IF( n_cla == 1 ) THEN  
    174175              !                                         ! New salinity profile at Gibraltar 
    175176              il0 = 138   ;   il1 = 138    
    176               ij0 = 101   ;   ij1 = 101 
    177               ii0 = 139   ;   ii1 = 139    
    178 #if defined key_orca_lev10 
    179               zsal  ( mi0(ii0):mi1(ii1), mj0(ij0):mj1(ij1) , : , : ) =   & 
    180                    &                          zsal  ( mi0(il0):mi1(il1) , mj0(ij0):mj1(ij1) , : , : ) 
    181 #else 
    182               saldta( mi0(ii0):mi1(ii1), mj0(ij0):mj1(ij1) , : , : ) =   & 
    183                    &                          saldta( mi0(il0):mi1(il1) , mj0(ij0):mj1(ij1) , : , : ) 
    184 #endif 
    185               ij0 = 101   ;   ij1 = 101 
    186 #if defined key_orca_lev10 
    187               zsal  ( mi0(ii0):mi1(ii1), mj0(ij0):mj1(ij1) , : , : ) =   & 
    188                    &                          zsal  ( mi0(il0):mi1(il1) , mj0(ij0):mj1(ij1) , : , : ) 
    189 #else 
    190               saldta( mi0(ii0):mi1(ii1), mj0(ij0):mj1(ij1) , : , : ) =   & 
    191                    &                          saldta( mi0(il0):mi1(il1) , mj0(ij0):mj1(ij1) , : , : ) 
    192 #endif 
    193               il0 = 138   ;   il1 = 138    
    194177              ij0 = 101   ;   ij1 = 102 
    195178              ii0 = 139   ;   ii1 = 139    
    196               DO jl = mi0(il0), mi1(il1)                ! New salinity profile at Gibraltar 
     179              DO jl = mi0(il0), mi1(il1) 
    197180                 DO jj = mj0(ij0), mj1(ij1) 
    198181                    DO ji = mi0(ii0), mi1(ii1) 
     
    205188                 END DO 
    206189              END DO 
    207                
     190              !                                         ! New salinity profile at Bab el Mandeb 
    208191              il0 = 164   ;   il1 = 164    
    209               ij0 =  88   ;   ij1 =  88 
     192              ij0 =  87   ;   ij1 =  88 
    210193              ii0 = 161   ;   ii1 = 163    
    211               DO jl = mi0(il0), mi1(il1)                ! New salinity profile at Bab el Mandeb 
     194              DO jl = mi0(il0), mi1(il1) 
    212195                 DO jj = mj0(ij0), mj1(ij1) 
    213196                    DO ji = mi0(ii0), mi1(ii1) 
     
    219202                    END DO 
    220203                 END DO 
    221                  ij0 =  87   ;   ij1 =  87 
    222                  DO jj = mj0(ij0), mj1(ij1) 
    223                     DO ji = mi0(ii0), mi1(ii1) 
    224 #if defined key_orca_lev10 
    225                        zsal  (ji,jj,:,:) = zsal  (jl,jj,:,:) 
    226 #else 
    227                        saldta(ji,jj,:,:) = saldta(jl,jj,:,:) 
    228 #endif 
    229                     END DO 
    230                  END DO 
    231               END DO 
    232                
     204              END DO 
     205              ! 
    233206           ENDIF 
    234             
     207           ! 
    235208        ENDIF 
    236209#endif    
  • trunk/NEMO/OPA_SRC/DTA/dtatem.F90

    r1152 r1273  
    157157            !                                        !  ORCA_R2 configuration 
    158158            !                                        ! =======================  
    159              
    160159            ij0 = 101   ;   ij1 = 109 
    161160            ii0 = 141   ;   ii1 = 155 
     
    174173            END DO 
    175174             
    176             IF( n_cla == 0 ) THEN  
     175            IF( n_cla == 1 ) THEN  
     176               !                                         ! New temperature profile at Gibraltar 
     177               il0 = 138   ;   il1 = 138 
     178               ij0 = 101   ;   ij1 = 102 
     179               ii0 = 139   ;   ii1 = 139 
     180               DO jl = mi0(il0), mi1(il1) 
     181                  DO jj = mj0(ij0), mj1(ij1) 
     182                     DO ji = mi0(ii0), mi1(ii1) 
     183#if defined key_orca_lev10 
     184                        ztem  (ji,jj,:,:) = ztem  (jl,jj,:,:) 
     185#else 
     186                        temdta(ji,jj,:,:) = temdta(jl,jj,:,:) 
     187#endif 
     188                     END DO 
     189                  END DO 
     190               END DO 
     191               !                                         ! New temperature profile at Bab el Mandeb 
     192               il0 = 164   ;   il1 = 164 
     193               ij0 =  87   ;   ij1 =  88 
     194               ii0 = 161   ;   ii1 = 163 
     195               DO jl = mi0(il0), mi1(il1) 
     196                  DO jj = mj0(ij0), mj1(ij1) 
     197                     DO ji = mi0(ii0), mi1(ii1) 
     198#if defined key_orca_lev10 
     199                        ztem  (ji,jj,:,:) = ztem  (jl,jj,:,:) 
     200#else 
     201                        temdta(ji,jj,:,:) = temdta(jl,jj,:,:) 
     202#endif 
     203                     END DO 
     204                  END DO 
     205               END DO 
     206               ! 
     207            ELSE 
    177208               !                                         ! Reduced temperature at Red Sea 
    178209               ij0 =  87   ;   ij1 =  96 
     
    187218               temdta( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 14:20 , : ) = 6.0 
    188219#endif 
    189             ELSE 
    190                il0 = 138   ;   il1 = 138 
    191                ij0 = 101   ;   ij1 = 102 
    192                ii0 = 139   ;   ii1 = 139 
    193                DO jl = mi0(il0), mi1(il1)                ! New temperature profile at Gibraltar 
    194                   DO jj = mj0(ij0), mj1(ij1) 
    195                      DO ji = mi0(ii0), mi1(ii1) 
    196 #if defined key_orca_lev10 
    197                         ztem  (ji,jj,:,:) = ztem  (jl,jj,:,:) 
    198 #else 
    199                         temdta(ji,jj,:,:) = temdta(jl,jj,:,:) 
    200 #endif 
    201                      END DO 
    202                   END DO 
    203                END DO 
    204                il0 = 164   ;   il1 = 164 
    205                ij0 =  88   ;   ij1 =  88 
    206                ii0 = 161   ;   ii1 = 163 
    207                DO jl = mi0(il0), mi1(il1)                ! New temperature profile at Bab el Mandeb 
    208                   DO jj = mj0(ij0), mj1(ij1) 
    209                      DO ji = mi0(ii0), mi1(ii1) 
    210 #if defined key_orca_lev10 
    211                         ztem  (ji,jj,:,:) = ztem  (jl,jj,:,:) 
    212 #else 
    213                         temdta(ji,jj,:,:) = temdta(jl,jj,:,:) 
    214 #endif 
    215                      END DO 
    216                   END DO 
    217                   ij0 =  87   ;   ij1 =  87 
    218                   DO jj = mj0(ij0), mj1(ij1) 
    219                      DO ji = mi0(ii0), mi1(ii1) 
    220 #if defined key_orca_lev10 
    221                         ztem  (ji,jj,:,:) = ztem  (jl,jj,:,:) 
    222 #else 
    223                         temdta(ji,jj,:,:) = temdta(jl,jj,:,:) 
    224 #endif 
    225                      END DO 
    226                   END DO 
    227                END DO 
    228220            ENDIF 
    229              
     221            ! 
    230222         ENDIF 
    231223#endif 
Note: See TracChangeset for help on using the changeset viewer.