Changeset 10102


Ignore:
Timestamp:
2018-09-07T15:05:33+02:00 (22 months ago)
Author:
smasson
Message:

dev_r9759_HPC09_ESIWACE: update usrdef_istate.F90 to define unique value on each point

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/tests/BENCH/MY_SRC/usrdef_istate.F90

    r9762 r10102  
    1919   USE in_out_manager ! I/O manager 
    2020   USE lib_mpp        ! MPP library 
     21   USE lbclnk          ! lateral boundary conditions - mpp exchanges 
    2122   !    
    2223   USE usrdef_nam 
     
    5051      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(  out) ::   pv      ! j-component of the velocity  [m/s]  
    5152      REAL(wp), DIMENSION(jpi,jpj)         , INTENT(  out) ::   pssh    ! sea-surface height 
     53      ! 
     54      REAL(wp), DIMENSION(jpi,jpj) ::   z2d   ! 2D workspace 
     55      INTEGER :: ji, jj, jk 
    5256      !!---------------------------------------------------------------------- 
    5357      ! 
     
    5660      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~   ' 
    5761      ! 
     62      ! define unique value on each point 
     63      DO jj = 1, jpj 
     64         DO ji = 1, jpi 
     65            z2d(ji,jj) = ( 0.5_wp - REAL( nimpp + ji - 1 + ( njmpp + jj - 2 ) * jpiglo) / REAL ( jpiglo * jpjglo ) ) * 0.1_wp 
     66         ENDDO 
     67      ENDDO 
     68      ! 
    5869      ! sea level: 
    59       pssh(:,:) = 0. 
    60       ! temperature: 
    61       pts(:,:,:,jp_tem) = 10._wp 
    62       ! salinity:   
    63       pts(:,:,:,jp_sal) = 35._wp 
    64       ! velocities: 
    65       pu(:,:,:) = 0. 
    66       pv(:,:,:) = 0. 
     70      pssh(:,:) = z2d(:,:) 
    6771      ! 
    68  
     72      DO jk = 1, jpk 
     73         ! temperature: 
     74         pts(:,:,jk,jp_tem) = 10._wp + z2d(:,:) * 2._wp 
     75         ! salinity:   
     76         pts(:,:,jk,jp_sal) = 35._wp + z2d(:,:) 
     77         ! velocities: 
     78         pu(:,:,jk) = z2d(:,:) * 0.1_wp 
     79         pv(:,:,jk) = z2d(:,:) * 0.01_wp 
     80      ENDDO 
     81      ! 
     82      CALL lbc_lnk("usr_def_istate", pssh, 'T',  1. )            ! apply boundary conditions 
     83      CALL lbc_lnk("usr_def_istate",  pts, 'T',  1. )            ! apply boundary conditions 
     84      CALL lbc_lnk("usr_def_istate",   pu, 'U', -1. )            ! apply boundary conditions 
     85      CALL lbc_lnk("usr_def_istate",   pv, 'V', -1. )            ! apply boundary conditions 
     86       
    6987   END SUBROUTINE usr_def_istate 
    7088 
Note: See TracChangeset for help on using the changeset viewer.