Changeset 13138


Ignore:
Timestamp:
2020-06-22T11:13:03+02:00 (6 weeks ago)
Author:
smasson
Message:

Extra_Halo: minor bugfixes and cleaning, see #2366

Location:
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/dommsk.F90

    r13065 r13138  
    138138      END_2D 
    139139      ! 
    140       ! the following is mandatory 
    141       ! it masks boundaries (bathy=0) where needed depending on the configuration (closed, periodic...)   
    142 !!$      IF( .NOT. (nbondj == 1 .OR. nbondj == 0 .OR. l_Jperio) ) THEN 
    143 !!$         tmask(mi0(  1 ):mi1(jpiglo),mj0(Njs0):mj1(Njs0  ),:) = 0._wp   ! line   number Njs0 at 0 
    144 !!$      ENDIF 
    145 !!$      IF( .NOT. (nbondi == 1 .OR. nbondi == 0 .OR. l_Iperio) ) THEN 
    146 !!$         tmask(mi0(Nis0):mi1(  Nis0),mj0(  1 ):mj1(jpjglo),:) = 0._wp   ! column number Nis0 at 0 
    147 !!$      ENDIF 
    148 !!$      CALL lbc_lnk( 'dommsk', tmask, 'T', 1._wp )      ! Lateral boundary conditions 
    149  
    150      ! Mask corrections for bdy (read in mppini2) 
     140      ! Mask corrections for bdy (read in mppini2) 
    151141      READ  ( numnam_ref, nambdy, IOSTAT = ios, ERR = 903) 
    152142903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nambdy in reference namelist' ) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/domzgr.F90

    r13065 r13138  
    111111      ENDIF 
    112112      ! 
     113      ! the following is mandatory 
    113114      ! make sure that closed boundaries are correctly defined in k_top that will be used to compute all mask arrays 
    114115      ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DYN/sshwzv.F90

    r12980 r13138  
    200200      ENDIF 
    201201      ! 
    202 #if defined key_agrif  
    203202      IF( .NOT. AGRIF_Root() ) THEN 
    204203         ! 
    205204         ! Mask vertical velocity at first/last columns/row  
    206205         ! inside computational domain (cosmetic)  
    207          ! --- West --- ! 
    208          DO ji = mi0(2), mi1(2) 
    209             DO jj = 1, jpj 
    210                pww(ji,jj,:) = 0._wp  
    211             ENDDO 
    212          ENDDO 
    213          ! 
    214          ! --- East --- ! 
    215          DO ji = mi0(jpiglo-1), mi1(jpiglo-1) 
    216             DO jj = 1, jpj 
    217                pww(ji,jj,:) = 0._wp 
    218             ENDDO 
    219          ENDDO 
    220          ! 
    221          ! --- South --- ! 
    222          DO jj = mj0(2), mj1(2) 
    223             DO ji = 1, jpi 
    224                pww(ji,jj,:) = 0._wp 
    225             ENDDO 
    226          ENDDO 
    227          ! 
    228          ! --- North --- ! 
    229          DO jj = mj0(jpjglo-1), mj1(jpjglo-1) 
    230             DO ji = 1, jpi 
    231                pww(ji,jj,:) = 0._wp 
    232             ENDDO 
    233          ENDDO 
     206         DO jk = 1, jpkm1 
     207            ! --- West --- ! 
     208            DO ji = mi0(2+nn_hls), mi1(2+nn_hls) 
     209               DO jj = 1, jpj 
     210                  pww(ji,jj,jk) = 0._wp  
     211               END DO 
     212            END DO 
     213            ! 
     214            ! --- East --- ! 
     215            DO ji = mi0(jpiglo-1-nn_hls), mi1(jpiglo-1-nn_hls) 
     216               DO jj = 1, jpj 
     217                  pww(ji,jj,jk) = 0._wp 
     218               END DO 
     219            END DO 
     220            ! 
     221            ! --- South --- ! 
     222            DO jj = mj0(2+nn_hls), mj1(2+nn_hls) 
     223               DO ji = 1, jpi 
     224                  pww(ji,jj,jk) = 0._wp 
     225               END DO 
     226            END DO 
     227            ! 
     228            ! --- North --- ! 
     229            DO jj = mj0(jpjglo-1-nn_hls), mj1(jpjglo-1-nn_hls) 
     230               DO ji = 1, jpi 
     231                  pww(ji,jj,jk) = 0._wp 
     232               END DO 
     233            END DO 
     234         END DO 
    234235         ! 
    235236      ENDIF  
    236 #endif  
    237237      ! 
    238238      IF( ln_timing )   CALL timing_stop('wzv') 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/USR/usrdef_fmask.F90

    r12960 r13138  
    7676            ! 
    7777            IF(lwp) WRITE(numout,*) '      Bab el Mandeb ' 
    78             ij0 =  87 + nn_hls       ;   ij1 =  88  + nn_hls          ! Bab el Mandeb : partial slip (pfmsk=1) 
    79             ii0 = 160  + nn_hls - 1  ;   ii1 = 160 + nn_hls - 1 
     78            ij0 =  87 + nn_hls       ;   ij1 = 88  + nn_hls          ! Bab el Mandeb : partial slip (pfmsk=1) 
     79            ii0 = 160 + nn_hls - 1   ;   ii1 = 160 + nn_hls - 1 
    8080            pfmsk( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  1._wp 
    8181            ij0 =  88 + nn_hls       ;   ij1 =  88 + nn_hls 
     
    9898!!gm    ! Currently these hard-wired indices relate to configuration with extend grid (jpjglo=332) 
    9999            ! 
    100             isrow = 332 - Nj0glo - 2 
     100            isrow = 332 - (Nj0glo + 1)   ! was 332 - jpjglo -> jpjglo_old_version = Nj0glo + 1 
    101101            ! 
    102102            IF(lwp) WRITE(numout,*) 
    103103            IF(lwp) WRITE(numout,*) '   orca_r1: increase friction near the following straits : ' 
    104104            IF(lwp) WRITE(numout,*) '      Gibraltar ' 
    105             ii0 = 282           ;   ii1 = 283        ! Gibraltar Strait  
    106             ij0 = 241 - isrow   ;   ij1 = 241 - isrow   ;   pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
     105            ii0 = 282 + nn_hls - 1       ;   ii1 = 283 + nn_hls - 1        ! Gibraltar Strait  
     106            ij0 = 241 + nn_hls - isrow   ;   ij1 = 241 + nn_hls - isrow 
     107            pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
    107108            ! 
    108109            IF(lwp) WRITE(numout,*) '      Bhosporus ' 
    109             ii0 = 314           ;   ii1 = 315        ! Bhosporus Strait  
    110             ij0 = 248 - isrow   ;   ij1 = 248 - isrow   ;   pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
     110            ii0 = 314 + nn_hls - 1       ;   ii1 = 315 + nn_hls - 1        ! Bhosporus Strait  
     111            ij0 = 248 + nn_hls - isrow   ;   ij1 = 248 + nn_hls - isrow 
     112            pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
    111113            ! 
    112114            IF(lwp) WRITE(numout,*) '      Makassar (Top) ' 
    113             ii0 =  48           ;   ii1 =  48        ! Makassar Strait (Top)  
    114             ij0 = 189 - isrow   ;   ij1 = 190 - isrow   ;   pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp   
     115            ii0 =  48 + nn_hls - 1       ;   ii1 =  48 + nn_hls - 1        ! Makassar Strait (Top)  
     116            ij0 = 189 + nn_hls - isrow   ;   ij1 = 190 + nn_hls - isrow 
     117            pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp   
    115118            ! 
    116119            IF(lwp) WRITE(numout,*) '      Lombok ' 
    117             ii0 =  44           ;   ii1 =  44        ! Lombok Strait  
    118             ij0 = 164 - isrow   ;   ij1 = 165 - isrow   ;   pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
     120            ii0 =  44 + nn_hls - 1       ;   ii1 =  44 + nn_hls - 1        ! Lombok Strait  
     121            ij0 = 164 + nn_hls - isrow   ;   ij1 = 165 + nn_hls - isrow 
     122            pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
    119123            ! 
    120124            IF(lwp) WRITE(numout,*) '      Ombai ' 
    121             ii0 =  53           ;   ii1 =  53        ! Ombai Strait  
    122             ij0 = 164 - isrow   ;   ij1 = 165 - isrow   ;   pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
     125            ii0 =  53 + nn_hls - 1       ;   ii1 =  53 + nn_hls - 1        ! Ombai Strait  
     126            ij0 = 164 + nn_hls - isrow   ;   ij1 = 165 + nn_hls - isrow 
     127            pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
    123128            ! 
    124129            IF(lwp) WRITE(numout,*) '      Timor Passage ' 
    125             ii0 =  56           ;   ii1 =  56        ! Timor Passage  
    126             ij0 = 164 - isrow   ;   ij1 = 165 - isrow   ;   pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
     130            ii0 =  56 + nn_hls - 1       ;   ii1 =  56 + nn_hls - 1        ! Timor Passage  
     131            ij0 = 164 + nn_hls - isrow   ;   ij1 = 165 + nn_hls - isrow 
     132            pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp   
    127133            ! 
    128134            IF(lwp) WRITE(numout,*) '      West Halmahera ' 
    129             ii0 =  58           ;   ii1 =  58        ! West Halmahera Strait  
    130             ij0 = 181 - isrow   ;   ij1 = 182 - isrow   ;   pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp   
     135            ii0 =  58 + nn_hls - 1       ;   ii1 =  58 + nn_hls - 1        ! West Halmahera Strait  
     136            ij0 = 181 + nn_hls - isrow   ;   ij1 = 182 + nn_hls - isrow 
     137            pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp   
    131138            ! 
    132139            IF(lwp) WRITE(numout,*) '      East Halmahera ' 
    133             ii0 =  55           ;   ii1 =  55        ! East Halmahera Strait  
    134             ij0 = 181 - isrow   ;   ij1 = 182 - isrow   ;   pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp   
     140            ii0 =  55 + nn_hls - 1       ;   ii1 =  55 + nn_hls - 1        ! East Halmahera Strait  
     141            ij0 = 181 + nn_hls - isrow   ;   ij1 = 182 + nn_hls - isrow 
     142            pfmsk( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp   
    135143            ! 
    136144         CASE DEFAULT 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/USR/usrdef_zgr.F90

    r12939 r13138  
    199199      ! 
    200200      z2d(:,:) = REAL( jpkm1 , wp )                              ! flat bottom 
    201       z2d(mi0(  1 ):mi1(jpiglo),mj0(Njs0):mj1( Njs0 )) = 0._wp   ! line   number Njs0 at 0 
    202       z2d(mi0(Nis0):mi1( Nis0 ),mj0(  1 ):mj1(jpjglo)) = 0._wp   ! column number Nis0 at 0 
    203       ! 
    204       CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
    205201      ! 
    206202      k_bot(:,:) = NINT( z2d(:,:) )          ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/TRP/trcdmp.F90

    r12738 r13138  
    245245            !                                           ! ======================= 
    246246            CASE ( 1 )                                  ! eORCA_R1 configuration 
    247             !                                           ! ======================= 
    248             isrow = 332 - jpjglo 
    249             ! 
    250             nctsi1(1)   = 333  ; nctsj1(1)   = 243 - isrow   ! Caspian Sea 
    251             nctsi2(1)   = 342  ; nctsj2(1)   = 274 - isrow 
    252             !                                         
    253             nctsi1(2)   = 198  ; nctsj1(2)   = 258 - isrow   ! Lake Superior 
    254             nctsi2(2)   = 204  ; nctsj2(2)   = 262 - isrow 
    255             !                                          
    256             nctsi1(3)   = 201  ; nctsj1(3)   = 250 - isrow   ! Lake Michigan 
    257             nctsi2(3)   = 203  ; nctsj2(3)   = 256 - isrow 
    258             !                                         
    259             nctsi1(4)   = 204  ; nctsj1(4)   = 252 - isrow   ! Lake Huron 
    260             nctsi2(4)   = 209  ; nctsj2(4)   = 256 - isrow 
    261             !                                         
    262             nctsi1(5)   = 206  ; nctsj1(5)   = 249 - isrow   ! Lake Erie 
    263             nctsi2(5)   = 209  ; nctsj2(5)   = 251 - isrow 
    264             !                                         
    265             nctsi1(6)   = 210  ; nctsj1(6)   = 252 - isrow   ! Lake Ontario 
    266             nctsi2(6)   = 212  ; nctsj2(6)   = 252 - isrow 
    267             !                                         
    268             nctsi1(7)   = 321  ; nctsj1(7)   = 180 - isrow   ! Victoria Lake 
    269             nctsi2(7)   = 322  ; nctsj2(7)   = 189 - isrow 
    270             !                                         
    271             nctsi1(8)   = 297  ; nctsj1(8)   = 270 - isrow   ! Baltic Sea 
    272             nctsi2(8)   = 308  ; nctsj2(8)   = 293 - isrow 
    273             !                                         
    274             !                                           ! ======================= 
     247               !                                        ! ======================= 
     248               ! 
     249               isrow = 332 - (Nj0glo + 1)   ! was 332 - jpjglo -> jpjglo_old_version = Nj0glo + 1 
     250               ! 
     251               nctsi1(1)   = 333  ; nctsj1(1)   = 243 - isrow   ! Caspian Sea 
     252               nctsi2(1)   = 342  ; nctsj2(1)   = 274 - isrow 
     253               !                                         
     254               nctsi1(2)   = 198  ; nctsj1(2)   = 258 - isrow   ! Lake Superior 
     255               nctsi2(2)   = 204  ; nctsj2(2)   = 262 - isrow 
     256               !                                          
     257               nctsi1(3)   = 201  ; nctsj1(3)   = 250 - isrow   ! Lake Michigan 
     258               nctsi2(3)   = 203  ; nctsj2(3)   = 256 - isrow 
     259               !                                         
     260               nctsi1(4)   = 204  ; nctsj1(4)   = 252 - isrow   ! Lake Huron 
     261               nctsi2(4)   = 209  ; nctsj2(4)   = 256 - isrow 
     262               !                                         
     263               nctsi1(5)   = 206  ; nctsj1(5)   = 249 - isrow   ! Lake Erie 
     264               nctsi2(5)   = 209  ; nctsj2(5)   = 251 - isrow 
     265               !                                         
     266               nctsi1(6)   = 210  ; nctsj1(6)   = 252 - isrow   ! Lake Ontario 
     267               nctsi2(6)   = 212  ; nctsj2(6)   = 252 - isrow 
     268               !                                         
     269               nctsi1(7)   = 321  ; nctsj1(7)   = 180 - isrow   ! Victoria Lake 
     270               nctsi2(7)   = 322  ; nctsj2(7)   = 189 - isrow 
     271               !                                         
     272               nctsi1(8)   = 297  ; nctsj1(8)   = 270 - isrow   ! Baltic Sea 
     273               nctsi2(8)   = 308  ; nctsj2(8)   = 293 - isrow 
     274               ! 
     275               !                                        ! ======================= 
    275276            CASE ( 2 )                                  !  ORCA_R2 configuration 
    276277               !                                        ! ======================= 
     
    285286               nctsi2(3)   = 181  ;  nctsj2(3)   = 112 
    286287              !                                       
    287                nctsi1(4)   =   2  ;  nctsj1(4)   = 107      ! Black Sea 2 : est part of the Black Sea 
     288               nctsi1(4)   =   2  ;  nctsj1(4)   = 107       ! Black Sea 2 : est part of the Black Sea 
    288289               nctsi2(4)   =   6  ;  nctsj2(4)   = 112 
    289290               !                                      
    290291               nctsi1(5)   =  145 ;  nctsj1(5)   = 116       ! Baltic Sea 
    291292               nctsi2(5)   =  150 ;  nctsj2(5)   = 126 
     293               ! 
    292294               !                                        ! ======================= 
    293295            CASE ( 4 )                                  !  ORCA_R4 configuration 
     
    305307               nctsi1(4)   = 75  ;  nctsj1(4)   = 59         ! Baltic Sea 
    306308               nctsi2(4)   = 76  ;  nctsj2(4)   = 61 
     309               ! 
    307310               !                                        ! ======================= 
    308311            CASE ( 025 )                                ! ORCA_R025 configuration 
     
    318321            ! 
    319322         ENDIF 
     323         ! 
     324         nctsi1(:) = nctsi1(:) + nn_hls - 1   ;   nctsi2(:) = nctsi2(:) + nn_hls - 1   ! -1 as x-perio included in old input files 
     325         nctsj1(:) = nctsj1(:) + nn_hls       ;   nctsj2(:) = nctsj2(:) + nn_hls 
    320326         ! 
    321327         ! convert the position in local domain indices 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/ISOMIP/MY_SRC/usrdef_zgr.F90

    r13065 r13138  
    8787      zht  (:,:) = rbathy  
    8888      zhisf(:,:) = 200._wp 
    89       ij0 = 1+1 ; ij1 = 40+1    ! + 1 for compatibility with old version. ==> to be removed 
     89      ij0 = 1   ;   ij1 = 40+nn_hls 
    9090      DO jj = mj0(ij0), mj1(ij1) 
    9191         zhisf(:,jj)=700.0_wp-(gphit(:,jj)+80.0_wp)*125.0_wp 
Note: See TracChangeset for help on using the changeset viewer.