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

Changeset 7030


Ignore:
Timestamp:
2016-10-14T14:24:48+02:00 (8 years ago)
Author:
acc
Message:

Branch dev_r6393_NOC_WAD. Added over-topping test case to WAD_TEST_CASES (jp_cfg=6). Also removed last references to redundant wduflt and wdvflt arrays

Location:
branches/2016/dev_r6393_NOC_WAD/NEMOGCM/NEMO/OPA_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6393_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r7022 r7030  
    529529                        zdta(:,jpjdta-2:jpjdta) = -4._wp 
    530530                        !                                    ! =========================== 
     531                     CASE ( 6 )                              ! WAD 6 configuration 
     532                        !                                    ! ==================== 
     533                        ! 
     534                        IF(lwp) WRITE(numout,*) 
     535                        IF(lwp) WRITE(numout,*) 'zgr_bat : Parabolic channel with gaussian ridge' 
     536                        IF(lwp) WRITE(numout,*) '~~~~~~~~~~' 
     537                        ! 
     538                        DO ji = 1, jpidta 
     539                          zi = MAX(1.0-FLOAT((ji-25)**2)/484.0, -2.0 ) 
     540                          zj = 0.95*MAX(EXP(-1.0*FLOAT((ji-25)**2)/32.0) , 0.0 ) 
     541                          zdta(ji,:) = MAX(rn_bathy*(zi-zj), -2.0) 
     542                          IF(lwp)write(numout,*) 'ZDTA ',ji,zi,zdta(ji,1) 
     543                        END DO 
     544                        zdta(1:2,:) = -4._wp 
     545                        zdta(jpidta-1:jpidta,:) = -4._wp 
     546                        zdta(:,1) = -4._wp 
     547                        zdta(:,jpjdta) = -4._wp 
     548                        zdta(:,1:3) = -4._wp 
     549                        zdta(:,jpjdta-2:jpjdta) = -4._wp 
     550                        !                                    ! =========================== 
    531551                     CASE DEFAULT 
    532552                        !                                    ! =========================== 
  • branches/2016/dev_r6393_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r6152 r7030  
    461461             IF(ll_tmp1.AND.ll_tmp2) THEN 
    462462               zcpx(ji,jj) = 1.0_wp 
    463                wduflt(ji,jj) = 1.0_wp 
    464463             ELSE IF(ll_tmp3) THEN 
    465464               ! no worries about sshn(ji+1,jj)-sshn(ji,jj) = 0, it won't happen ! here 
    466465               zcpx(ji,jj) = ABS((sshn(ji+1,jj) + bathy(ji+1,jj) - sshn(ji,jj) - bathy(ji,jj)) / & 
    467466                           &     (sshn(ji+1,jj) - sshn(ji,jj))) 
    468                wduflt(ji,jj) = 1.0_wp 
    469467             ELSE 
    470468               zcpx(ji,jj) = 0._wp 
    471                wduflt(ji,jj) = 0.0_wp 
    472469             END IF 
    473470       
     
    479476             IF(ll_tmp1.AND.ll_tmp2) THEN 
    480477               zcpy(ji,jj) = 1.0_wp 
    481                wdvflt(ji,jj) = 1.0_wp 
    482478             ELSE IF(ll_tmp3) THEN 
    483479               ! no worries about sshn(ji,jj+1)-sshn(ji,jj) = 0, it won't happen ! here 
    484480               zcpy(ji,jj) = ABS((sshn(ji,jj+1) + bathy(ji,jj+1) - sshn(ji,jj) - bathy(ji,jj)) / & 
    485481                           &     (sshn(ji,jj+1) - sshn(ji,jj))) 
    486                wdvflt(ji,jj) = 1.0_wp 
    487482             ELSE 
    488483               zcpy(ji,jj) = 0._wp 
    489                wdvflt(ji,jj) = 0.0_wp 
    490484             END IF 
    491485           END DO 
  • branches/2016/dev_r6393_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/DYN/wet_dry.F90

    r7022 r7030  
    3333   !! --------------------------------------------------------------------- 
    3434 
    35    REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) ::   wduflt, wdvflt !: u- and v- filter 
    3635   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) ::   wdmask         !: u- and v- limiter  
    3736 
     
    8887 
    8988      IF(ln_wd) THEN 
    90          ALLOCATE( wduflt(jpi,jpj), wdvflt(jpi,jpj), wdmask(jpi,jpj), STAT=ierr ) 
     89         ALLOCATE( wdmask(jpi,jpj), STAT=ierr ) 
    9190         IF( ierr /= 0 ) CALL ctl_stop('STOP', 'wad_init : Array allocation error') 
    9291      ENDIF 
     
    474473 
    475474            ! 
     475            !                                     ! =========================== 
     476         CASE ( 6 )                               ! WAD 6 configuration 
     477            !                                     ! ==================== 
     478            ! 
     479            IF(lwp) WRITE(numout,*) 
     480            IF(lwp) WRITE(numout,*) 'istate_wad : Parobolic EW channel with gaussian ridge'  
     481            IF(lwp) WRITE(numout,*) '~~~~~~~~~~' 
     482            ! 
     483            do ji = 1,jpi 
     484             !6a 
     485             sshn(ji,:) = ( -5.5_wp + 9.0_wp*FLOAT(jpidta - mig(ji))/FLOAT(jpidta-1))*tmask(ji,:,1) 
     486             !Some variations in initial slope that have been tested 
     487             !6b 
     488             !sshn(ji,:) = ( -5.5_wp + 6.5_wp*FLOAT(jpidta - mig(ji))/FLOAT(jpidta-1))*tmask(ji,:,1) 
     489             !6c 
     490             !sshn(ji,:) = ( -5.5_wp + 7.5_wp*FLOAT(jpidta - mig(ji))/FLOAT(jpidta-1))*tmask(ji,:,1) 
     491             !6d 
     492             !sshn(ji,:) = ( -4.5_wp + 8.0_wp*FLOAT(jpidta - mig(ji))/FLOAT(jpidta-1))*tmask(ji,:,1) 
     493            end do 
     494 
     495            ! 
    476496            !                                    ! =========================== 
    477497         CASE DEFAULT                            ! NONE existing configuration 
     
    487507      do jj = 1,jpj 
    488508         do ji = 1,jpi 
    489             IF( bathy(ji,jj) + sshn(ji,jj) < 0.4_wp) THEN 
    490                sshn(ji,jj) = tmask(ji,jj,1)*(0.4_wp - bathy(ji,jj)) 
     509            IF( bathy(ji,jj) + sshn(ji,jj) < rn_wdmin1 ) THEN 
     510               sshn(ji,jj) = tmask(ji,jj,1)*( rn_wdmin1 - bathy(ji,jj) ) 
    491511            ENDIF 
    492512         end do 
Note: See TracChangeset for help on using the changeset viewer.