Changeset 8790


Ignore:
Timestamp:
2017-11-23T05:57:50+01:00 (3 years ago)
Author:
deazer
Message:

Add optional ssh switch to del with Baltic in CO7
Also added lbclnk in dynkeg for reproducible runs.

Location:
branches/UKMO/AMM15_v3_6_STABLE_package/NEMOGCM/NEMO/OPA_SRC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/AMM15_v3_6_STABLE_package/NEMOGCM/NEMO/OPA_SRC/BDY/bdy_oce.F90

    r8059 r8790  
    108108   LOGICAL, DIMENSION(jp_bdy) ::   ln_tra_dmp               !: =T Tracer damping 
    109109   LOGICAL, DIMENSION(jp_bdy) ::   ln_dyn3d_dmp             !: =T Baroclinic velocity damping 
     110    
     111!   !JT 
     112   LOGICAL, DIMENSION(jp_bdy) ::   ln_ssh_bdy               !: =T USE SSH BDY - name list switch 
     113!   !JT 
     114    
    110115   REAL(wp),    DIMENSION(jp_bdy) ::   rn_time_dmp              !: Damping time scale in days 
    111116   REAL(wp),    DIMENSION(jp_bdy) ::   rn_time_dmp_out          !: Damping time scale in days at radiation outflow points 
  • branches/UKMO/AMM15_v3_6_STABLE_package/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90

    r8059 r8790  
    398398#endif 
    399399      ! end jchanut tschanges 
     400       
     401       
     402      !JT use sshn (ssh now) if ln_ssh_bdy set to false in the name list 
     403      DO ib_bdy = 1, nb_bdy    
     404        nblen => idx_bdy(ib_bdy)%nblen 
     405        dta => dta_bdy(ib_bdy) 
     406          
     407        ilen1(:) = nblen(:) 
     408        !JT IF( .NOT. dta%ll_ssh ) THEN  
     409        IF( .NOT. ln_ssh_bdy(ib_bdy) ) THEN  
     410          igrd = 1 ! t Grid 
     411          DO ib = 1, ilen1(igrd) 
     412              ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     413              ij = idx_bdy(ib_bdy)%nbj(ib,igrd) 
     414              dta_bdy(ib_bdy)%ssh(ib) = sshn(ii,ij) * tmask(ii,ij,1)          
     415          END DO  
     416        END IF 
     417      END DO  
    400418 
    401419      IF ( ln_apr_obc ) THEN 
     
    786804            IF( dta%ll_v2d ) ALLOCATE( dta%v2d(nblen(3)) ) 
    787805         ENDIF 
    788          IF ( nn_dyn2d_dta(ib_bdy) .eq. 1 .or. nn_dyn2d_dta(ib_bdy) .eq. 3 ) THEN 
    789             IF( dta%ll_ssh ) THEN 
    790                if(lwp) write(numout,*) '++++++ dta%ssh pointing to fnow' 
    791                jfld = jfld + 1 
    792                dta%ssh => bf(jfld)%fnow(:,1,1) 
    793             ENDIF 
     806         IF ( nn_dyn2d_dta(ib_bdy) .eq. 1 .or. nn_dyn2d_dta(ib_bdy) .eq. 3 ) THEN          
     807            !JT  
     808            !JT allocate ssh if dta%ll_ssh set too false, as may still use it 
     809            IF (dta%ll_ssh) THEN 
     810                IF( dta%ll_ssh ) THEN 
     811                  if(lwp) write(numout,*) '++++++ dta%ssh pointing to fnow' 
     812                  jfld = jfld + 1 
     813                  dta%ssh => bf(jfld)%fnow(:,1,1) 
     814                ENDIF 
     815            ELSE 
     816              if(lwp) write(numout,*) '++++++ dta%ssh allocated space' 
     817              !ALLOCATE( dta_bdy(ib_bdy)%ssh(nblen(1)) )             
     818              ALLOCATE( dta%ssh(nblen(1)) )             
     819            ENDIF 
     820            !JT if  
     821             
    794822            IF ( dta%ll_u2d ) THEN 
    795823               IF ( ln_full_vel_array(ib_bdy) ) THEN 
  • branches/UKMO/AMM15_v3_6_STABLE_package/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90

    r8059 r8790  
    105105      !! 
    106106      NAMELIST/nambdy_index/ ctypebdy, nbdyind, nbdybeg, nbdyend 
     107       
     108       
     109!      ! JT 
     110      NAMELIST/nambdy_ssh/ ln_ssh_bdy 
     111!      ! JT 
    107112      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    108113      !!---------------------------------------------------------------------- 
     
    132137902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist', lwp ) 
    133138      IF(lwm) WRITE ( numond, nambdy ) 
     139      !JT Read nambdy_ssh namelist  
     140      REWIND( numnam_ref )              ! Namelist nambdy in reference namelist :Unstructured open boundaries   
     141      READ  ( numnam_ref, nambdy_ssh, IOSTAT = ios, ERR = 905) 
     142905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_ssh in reference namelist', lwp ) 
     143 
     144      REWIND( numnam_cfg )              ! Namelist nambdy in configuration namelist :Unstructured open boundaries 
     145      READ  ( numnam_cfg, nambdy_ssh, IOSTAT = ios, ERR = 906) 
     146906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_ssh in configuration namelist', lwp ) 
     147      IF(lwm) WRITE ( numond, nambdy_ssh ) 
     148       
     149      IF(lwp) WRITE(numout,*) 
     150      IF(lwp) WRITE(numout,*) 'nambdy_ssh : use of ssh boundaries' 
     151      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     152      IF(lwp) WRITE(numout,*) '      ln_ssh_bdy: ' 
     153      DO ib_bdy = 1,nb_bdy 
     154        IF(lwp) WRITE(numout,*) '      ln_ssh_bdy(',ib_bdy,'): ',ln_ssh_bdy(ib_bdy) 
     155      ENDDO 
     156      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     157      IF(lwp) WRITE(numout,*)  
     158      !JT 
    134159 
    135160      ! ----------------------------------------- 
     
    185210          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for cn_dyn2d' ) 
    186211        END SELECT 
     212         
     213        !JT override dta_bdy(ib_bdy)%ll_ssh with namelist value (ln_ssh_bdy) 
     214        IF(lwp) WRITE(numout,*) 'nambdy_ssh : use of ssh boundaries' 
     215        IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     216        IF(lwp) WRITE(numout,*) '      ib_bdy: ',ib_bdy 
     217        IF(lwp) WRITE(numout,*) '      Prior to Implementation of nambdy_ssh' 
     218        IF(lwp) WRITE(numout,*) '      dta_bdy(ib_bdy)%ll_ssh: ',dta_bdy(ib_bdy)%ll_ssh 
     219         
     220        dta_bdy(ib_bdy)%ll_ssh = ln_ssh_bdy(ib_bdy) 
     221         
     222        IF(lwp) WRITE(numout,*) '      After to Implementation of nambdy_ssh' 
     223        IF(lwp) WRITE(numout,*) '      dta_bdy(ib_bdy)%ll_ssh: ',dta_bdy(ib_bdy)%ll_ssh 
     224        IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     225         
     226        !JT          
     227         
    187228        IF( cn_dyn2d(ib_bdy) /= 'none' ) THEN 
    188229           SELECT CASE( nn_dyn2d_dta(ib_bdy) )                   !  
  • branches/UKMO/AMM15_v3_6_STABLE_package/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90

    r8059 r8790  
    149149         END DO 
    150150         ! 
     151         CALL lbc_lnk( zhke, 'T', 1. ) 
     152         ! 
    151153      CASE ( nkeg_HW )                          !--  Hollingsworth scheme  --! 
    152154         DO jk = 1, jpkm1 
Note: See TracChangeset for help on using the changeset viewer.