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

Changeset 14931


Ignore:
Timestamp:
2021-05-31T16:36:45+02:00 (3 years ago)
Author:
jchanut
Message:

#2638: restores Pierre's changes done in #2588 at r14199

Location:
utils/tools/DOMAINcfg/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • utils/tools/DOMAINcfg/src/domain.F90

    r14684 r14931  
    7878      CALL dom_glo                     ! global domain versus local domain 
    7979      CALL dom_nam               ! read namelist ( namrun, namdom ) 
    80                   !   CALL dom_clo               ! Closed seas and lake 
    8180          
    8281      CALL dom_hgr               ! Horizontal mesh 
    8382      CALL dom_zgr( ik_top, ik_bot )  ! Vertical mesh and bathymetry 
    8483      CALL dom_msk( ik_top, ik_bot )  ! Masks 
    85       ! 
     84      IF ( ln_domclo ) CALL dom_clo               ! Closed seas and lake  
    8685      ! 
    8786      CALL dom_ctl                  ! print extrema of masked scale factors 
  • utils/tools/DOMAINcfg/src/domisf.F90

    r14623 r14931  
    295295         zrisfdep = risfdep 
    296296         WHERE ( mbathy(:,:) == 0 ) 
    297             imask(:,:) = 0 
     297            imask(:,:) = jpk  
    298298            imbathy(:,:) = jpk 
    299299         END WHERE 
     
    302302               IF(  (misfdep(ji,jj) > 1) .AND. (mbathy(ji,jj) > 0) ) THEN 
    303303                  ! 
    304                   ! what it should be 
     304                  ! what it should be (1 = should be connected; >= jpk = should not be connected) 
    305305                  imskip1 = imask(ji,jj) * imask(ji+1,jj  )  ! 1 = should be connected 
    306306                  imskim1 = imask(ji,jj) * imask(ji-1,jj  )  ! 1 = should be connected 
     
    308308                  imskjm1 = imask(ji,jj) * imask(ji  ,jj-1)  ! 1 = should be connected 
    309309                  ! 
    310                   ! what it is 
     310                  ! what it is ? ( 1 = no effective connection; jpk = effective connection ) 
    311311                  imskip1_r=jpk ; imskim1_r=jpk; imskjp1_r=jpk; imskjm1_r=jpk 
    312312                  IF (misfdep(ji,jj) > imbathy(ji+1,jj  )) imskip1_r=1.0 ! 1 = no effective connection 
     
    317317                  ! defining level needed for connectivity 
    318318                  ! imskip1 * imskip1_r == 1 means connections need to be enforce 
     319                  ! imskip1 * imskip1_r >= jpk means no connection need to be enforce           
    319320                  jk=MIN(imbathy(ji+1,jj  ) * imskip1_r * imskip1, & 
    320321                     &   imbathy(ji-1,jj  ) * imskim1_r * imskim1, & 
    321322                     &   imbathy(ji  ,jj+1) * imskjp1_r * imskjp1, & 
    322323                     &   imbathy(ji  ,jj-1) * imskjm1_r * imskjm1, & 
    323                      &   jpk+1 ) ! add jpk in the MIN to avoid out of boundary later on 
     324                     &   jpk ) ! add jpk in the MIN to avoid out of boundary later on 
    324325                  ! 
    325326                  ! if connectivity is OK or no connection needed (grounding line) or grounded, zmisfdep=misfdep 
  • utils/tools/DOMAINcfg/src/dommsk.F90

    r14623 r14931  
    156156            END DO   
    157157         END DO   
    158          ELSE 
     158      ELSE 
    159159         DO jk = 1, jpk 
    160160            DO jj = 1, jpj 
     
    293293      ! User defined alteration of fmask (use to reduce ocean transport in specified straits) 
    294294      ! --------------------------------  
    295       ! 
    296  
     295      ! write mesh mask  
     296      IF ( nn_msh > 0 ) CALL dom_wri  
     297      ! 
    297298      CALL usr_def_fmask( cp_cfg, jp_cfg, fmask ) 
    298299      ! 
  • utils/tools/DOMAINcfg/src/domngb.F90

    r14623 r14931  
    4646      INTEGER :: ik         ! working level 
    4747      INTEGER , DIMENSION(2) ::   iloc 
    48       REAL(wp)               ::   zlon, zmini 
    4948      REAL(wp), DIMENSION(jpi,jpj) ::   zglam, zgphi, zmask, zdist 
    5049      !!-------------------------------------------------------------------- 
     
    6059      END SELECT 
    6160 
    62       zlon       = MOD( plon       + 720., 360. )                                     ! plon between    0 and 360 
    63       zglam(:,:) = MOD( zglam(:,:) + 720., 360. )                                     ! glam between    0 and 360 
    64       IF( zlon > 270. )   zlon = zlon - 360.                                          ! zlon between  -90 and 270 
    65       IF( zlon <  90. )   WHERE( zglam(:,:) > 180. ) zglam(:,:) = zglam(:,:) - 360.   ! glam between -180 and 180 
    66       zglam(:,:) = zglam(:,:) - zlon 
     61      zdist = dist(plon, plat, zglam, zgphi)  
    6762 
    6863      IF( lk_mpp ) THEN   
  • utils/tools/DOMAINcfg/src/domwri.F90

    r14623 r14931  
    215215      lldbl(:,:,1) = puniq(:,:) == ztstref(:,:)   ! check which values have been changed  
    216216      ! 
    217       puniq(:,:) = 1.                             ! default definition 
    218       ! fill only the inner part of the cpu with llbl converted into real  
    219       puniq(Nis0:Nie0,Njs0:Nje0) = REAL( COUNT( lldbl(Nis0:Nie0,Njs0:Nje0,:), dim = 3 ) , wp ) 
     217      puniq(:,:) = REAL( COUNT( lldbl(:,:,:), dim = 3 ) , wp )  
    220218      ! 
    221219   END SUBROUTINE dom_uniq 
  • utils/tools/DOMAINcfg/src/lib_fortran_generic.h90

    r14623 r14931  
    117117      ipk = K_SIZE(ptab)   ! 3rd dimension 
    118118      ! 
    119       ztmp = ARRAY_OPERATION( ARRAY_IN(:,:,1)*tmask_i(:,:) ) 
     119      ztmp = ARRAY_OPERATION( ARRAY_IN(:,:,1)) 
    120120      DO jk = 2, ipk 
    121          ztmp = SCALAR_OPERATION(ztmp, ARRAY_OPERATION( ARRAY_IN(:,:,jk)*tmask_i(:,:) )) 
     121         ztmp = SCALAR_OPERATION(ztmp, ARRAY_OPERATION( ARRAY_IN(:,:,jk))) 
    122122      ENDDO 
    123123 
  • utils/tools/DOMAINcfg/src/par_oce.f90

    r14687 r14931  
    2828   !!                   namcfg namelist parameters 
    2929   !!---------------------------------------------------------------------- 
    30    LOGICAL       ::   ln_read_cfg      !: (=T) read the domain configuration file or (=F) not 
     30   LOGICAL       ::   ln_read_cfg=.FALSE.    !: (=T) read the domain configuration file or (=F) not 
    3131   CHARACTER(lc) ::      cn_domcfg        !: filename the configuration file to be read 
    3232   LOGICAL       ::   ln_write_cfg     !: (=T) create the domain configuration file 
Note: See TracChangeset for help on using the changeset viewer.