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 11201 for NEMO/branches/2019/ENHANCE-03_domcfg/src/domzgr.F90 – NEMO

Ignore:
Timestamp:
2019-07-01T12:10:15+02:00 (5 years ago)
Author:
mathiot
Message:

ENHANCE-03_domcfg : add management of closed seas in domain cfg by flood filling and lat/lon seed instead of i/j box definition (ticket #2143)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-03_domcfg/src/domzgr.F90

    r11129 r11201  
    3636   !!--------------------------------------------------------------------- 
    3737   USE dom_oce           ! ocean domain 
    38 !   USE closea            ! closed seas 
    3938   ! 
    4039   USE in_out_manager    ! I/O manager 
     
    164163      ! final adjustment of mbathy & check  
    165164      ! ----------------------------------- 
    166       IF( lzoom       )   CALL zgr_bat_zoom     ! correct mbathy in case of zoom subdomain 
    167165                          CALL zgr_bat_ctl      ! check bathymetry (mbathy) and suppress isolated ocean points 
    168166                          CALL zgr_bot_level    ! deepest ocean level for t-, u- and v-points 
     
    622620      ENDIF 
    623621      ! 
    624     !  IF( nn_closea == 0 )   CALL clo_bat( bathy, mbathy )    !==  NO closed seas or lakes  ==! 
    625       !                        
    626622      IF ( .not. ln_sco ) THEN                                !==  set a minimum depth  ==! 
    627623         IF( rn_hmin < 0._wp ) THEN    ;   ik = - INT( rn_hmin )                                      ! from a nb of level 
     
    636632      ! 
    637633   END SUBROUTINE zgr_bat 
    638  
    639  
    640    SUBROUTINE zgr_bat_zoom 
    641       !!---------------------------------------------------------------------- 
    642       !!                    ***  ROUTINE zgr_bat_zoom  *** 
    643       !! 
    644       !! ** Purpose : - Close zoom domain boundary if necessary 
    645       !!              - Suppress Med Sea from ORCA R2 and R05 arctic zoom 
    646       !! 
    647       !! ** Method  :  
    648       !! 
    649       !! ** Action  : - update mbathy: level bathymetry (in level index) 
    650       !!---------------------------------------------------------------------- 
    651       INTEGER ::   ii0, ii1, ij0, ij1   ! temporary integers 
    652       !!---------------------------------------------------------------------- 
    653       ! 
    654       IF(lwp) WRITE(numout,*) 
    655       IF(lwp) WRITE(numout,*) '    zgr_bat_zoom : modify the level bathymetry for zoom domain' 
    656       IF(lwp) WRITE(numout,*) '    ~~~~~~~~~~~~' 
    657       ! 
    658       ! Zoom domain 
    659       ! =========== 
    660       ! 
    661       ! Forced closed boundary if required 
    662       IF( lzoom_s )   mbathy(  : , mj0(jpjzoom):mj1(jpjzoom) )      = 0 
    663       IF( lzoom_w )   mbathy(      mi0(jpizoom):mi1(jpizoom) , :  ) = 0 
    664       IF( lzoom_e )   mbathy(      mi0(jpiglo+jpizoom-1):mi1(jpiglo+jpizoom-1) , :  ) = 0 
    665       IF( lzoom_n )   mbathy(  : , mj0(jpjglo+jpjzoom-1):mj1(jpjglo+jpjzoom-1) )      = 0 
    666       ! 
    667       ! Configuration specific domain modifications 
    668       ! (here, ORCA arctic configuration: suppress Med Sea) 
    669       IF( cp_cfg == "orca" .AND. cp_cfz == "arctic" ) THEN 
    670          SELECT CASE ( jp_cfg ) 
    671          !                                        ! ======================= 
    672          CASE ( 2 )                               !  ORCA_R2 configuration 
    673             !                                     ! ======================= 
    674             IF(lwp) WRITE(numout,*) '                   ORCA R2 arctic zoom: suppress the Med Sea' 
    675             ii0 = 141   ;   ii1 = 162      ! Sea box i,j indices 
    676             ij0 =  98   ;   ij1 = 110 
    677             !                                     ! ======================= 
    678          CASE ( 05 )                              !  ORCA_R05 configuration 
    679             !                                     ! ======================= 
    680             IF(lwp) WRITE(numout,*) '                   ORCA R05 arctic zoom: suppress the Med Sea' 
    681             ii0 = 563   ;   ii1 = 642      ! zero over the Med Sea boxe 
    682             ij0 = 314   ;   ij1 = 370  
    683          END SELECT 
    684          ! 
    685          mbathy( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0   ! zero over the Med Sea boxe 
    686          ! 
    687       ENDIF 
    688       ! 
    689    END SUBROUTINE zgr_bat_zoom 
    690  
    691634 
    692635   SUBROUTINE zgr_bat_ctl 
Note: See TracChangeset for help on using the changeset viewer.