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 15737 for NEMO/branches/UKMO/NEMO_4.0.4_eiwpo12/src/OCE/BDY/bdyini.F90 – NEMO

Ignore:
Timestamp:
2022-03-04T15:23:00+01:00 (2 years ago)
Author:
jcastill
Message:

Adding in NOC changes straight from SEAsia_R36 model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_eiwpo12/src/OCE/BDY/bdyini.F90

    r14075 r15737  
    6969         &             ln_vol, nn_volctl, nn_rimwidth 
    7070         ! 
     71!     davbyr Propagating ENDA's stuff from 3.6 
     72      NAMELIST/nambdy_ssh/ ln_ssh_bdy, rn_ssh_shift 
     73      INTEGER  ::   ib_bdy 
     74!     END davbyr 
    7175      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    7276      !!---------------------------------------------------------------------- 
     
    97101902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nambdy in configuration namelist' ) 
    98102      IF(lwm) WRITE ( numond, nambdy ) 
     103       
     104      ! davbyr Propagating ENDA's stuff from 3.6 
     105      REWIND( numnam_ref )              ! Namelist nambdy in reference namelist :Unstructured open boundaries 
     106      READ  ( numnam_ref, nambdy_ssh, IOSTAT = ios, ERR = 905) 
     107905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_ssh in reference namelist' ) 
     108 
     109      REWIND( numnam_cfg )              ! Namelist nambdy in configuration namelist :Unstructured open boundaries 
     110      READ  ( numnam_cfg, nambdy_ssh, IOSTAT = ios, ERR = 906) 
     111906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_ssh in configuration namelist' ) 
     112      IF(lwm) WRITE ( numond, nambdy_ssh ) 
     113 
     114      IF(lwp) WRITE(numout,*) 
     115      IF(lwp) WRITE(numout,*) 'nambdy_ssh : use of ssh boundaries' 
     116      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     117      IF(lwp) WRITE(numout,*) '      ln_ssh_bdy: ' 
     118      DO ib_bdy = 1,nb_bdy 
     119        IF(lwp) WRITE(numout,*) '      ln_ssh_bdy  (',ib_bdy,'): ',ln_ssh_bdy(ib_bdy) 
     120      IF(lwp) WRITE(numout,*) '      rn_ssh_shift: ' 
     121      ENDDO 
     122      DO ib_bdy = 1,nb_bdy 
     123        IF(lwp) WRITE(numout,*) '      rn_ssh_shift(',ib_bdy,'): ',rn_ssh_shift(ib_bdy) 
     124      ENDDO 
     125      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     126      IF(lwp) WRITE(numout,*) 
     127!     END davbyr 
    99128 
    100129      IF( .NOT. Agrif_Root() ) ln_bdy = .FALSE.   ! forced for Agrif children 
     
    201230         dta_bdy(ib_bdy)%lneed_ssh   = cn_dyn2d(ib_bdy) == 'flather' 
    202231         dta_bdy(ib_bdy)%lneed_dyn2d = cn_dyn2d(ib_bdy) /= 'none' 
     232 
     233       ! davbyr propagating JT override dta_bdy(ib_bdy)%ll_ssh with namelist value (ln_ssh_bdy) 
     234         dta_bdy(ib_bdy)%lforced_ssh = ln_ssh_bdy(ib_bdy) 
     235         IF(lwp) WRITE(numout,*) 'nambdy_ssh : use of ssh boundaries' 
     236         IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     237         IF(lwp) WRITE(numout,*) '      ib_bdy: ',ib_bdy 
     238         IF(lwp) WRITE(numout,*) '      dta_bdy(ib_bdy)%lneed_ssh  : ',dta_bdy(ib_bdy)%lneed_ssh 
     239         IF(lwp) WRITE(numout,*) '      dta_bdy(ib_bdy)%lforced_ssh: ',dta_bdy(ib_bdy)%lforced_ssh 
     240         IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     241         ! END davbyr 
    203242 
    204243         IF( lwp .AND. dta_bdy(ib_bdy)%lneed_dyn2d ) THEN 
     
    598637            DO ib = 1, idx_bdy(ib_bdy)%nblen(igrd) 
    599638               ir = MAX( 1, idx_bdy(ib_bdy)%nbr(ib,igrd) )   ! both rim 0 and rim 1 have the same weights 
    600                idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( REAL( ir - 1 ) *0.5 )      ! tanh formulation 
     639!               idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( REAL( ir - 1 ) *0.5 )      ! tanh formulation 
     640               idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( FLOAT( ir - 1 ) * 0.5 & 
     641                                                & *(10./FLOAT(nn_rimwidth(ib_bdy))) ) ! JGraham:modified for rim=15 
    601642               !               idx_bdy(ib_bdy)%nbw(ib,igrd) = (REAL(nn_rimwidth(ib_bdy)+1-ir)/REAL(nn_rimwidth(ib_bdy)))**2.  ! quadratic 
    602643               !               idx_bdy(ib_bdy)%nbw(ib,igrd) =  REAL(nn_rimwidth(ib_bdy)+1-ir)/REAL(nn_rimwidth(ib_bdy))       ! linear 
Note: See TracChangeset for help on using the changeset viewer.