Changeset 10963 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/trcbdy.F90
- Timestamp:
- 2019-05-10T16:15:43+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/trcbdy.F90
r10425 r10963 37 37 CONTAINS 38 38 39 SUBROUTINE trc_bdy( kt )39 SUBROUTINE trc_bdy( kt, Kbb, Kmm, Krhs ) 40 40 !!---------------------------------------------------------------------- 41 41 !! *** SUBROUTINE trc_bdy *** … … 44 44 !! 45 45 !!---------------------------------------------------------------------- 46 INTEGER, INTENT( in ) :: kt ! Main time step counter 46 INTEGER, INTENT( in ) :: kt ! Main time step counter 47 INTEGER, INTENT( in ) :: Kbb, Kmm, Krhs ! time level indices 47 48 !! 48 49 INTEGER :: ib_bdy ,jn ,igrd ! Loop indeces … … 63 64 SELECT CASE( TRIM(trcdta_bdy(jn,ib_bdy)%cn_obc) ) 64 65 CASE('none' ) ; CYCLE 65 CASE('frs' ) ; CALL bdy_frs( idx_bdy(ib_bdy), tra(:,:,:,jn), ztrc*zfac )66 CASE('specified' ) ; CALL bdy_spe( idx_bdy(ib_bdy), tra(:,:,:,jn), ztrc*zfac )67 CASE('neumann' ) ; CALL bdy_nmn( idx_bdy(ib_bdy), igrd , tra(:,:,:,jn) )68 CASE('orlanski' ) ; CALL bdy_orl( idx_bdy(ib_bdy), tr b(:,:,:,jn), tra(:,:,:,jn), ztrc*zfac, ll_npo=.false. )69 CASE('orlanski_npo') ; CALL bdy_orl( idx_bdy(ib_bdy), tr b(:,:,:,jn), tra(:,:,:,jn), ztrc*zfac, ll_npo=.true. )66 CASE('frs' ) ; CALL bdy_frs( idx_bdy(ib_bdy), tr(:,:,:,jn,Krhs), ztrc*zfac ) 67 CASE('specified' ) ; CALL bdy_spe( idx_bdy(ib_bdy), tr(:,:,:,jn,Krhs), ztrc*zfac ) 68 CASE('neumann' ) ; CALL bdy_nmn( idx_bdy(ib_bdy), igrd , tr(:,:,:,jn,Krhs) ) 69 CASE('orlanski' ) ; CALL bdy_orl( idx_bdy(ib_bdy), tr(:,:,:,jn,Kbb), tr(:,:,:,jn,Krhs), ztrc*zfac, ll_npo=.false. ) 70 CASE('orlanski_npo') ; CALL bdy_orl( idx_bdy(ib_bdy), tr(:,:,:,jn,Kbb), tr(:,:,:,jn,Krhs), ztrc*zfac, ll_npo=.true. ) 70 71 CASE DEFAULT ; CALL ctl_stop( 'trc_bdy : unrecognised option for open boundaries for passive tracers' ) 71 72 END SELECT 72 73 ! Boundary points should be updated 73 CALL lbc_bdy_lnk( 'trcbdy', tr a(:,:,:,jn), 'T', 1., ib_bdy )74 CALL lbc_bdy_lnk( 'trcbdy', tr(:,:,:,jn,Krhs), 'T', 1., ib_bdy ) 74 75 ! 75 76 END DO … … 81 82 82 83 83 SUBROUTINE trc_bdy_dmp( kt )84 SUBROUTINE trc_bdy_dmp( kt, Kbb, Krhs ) 84 85 !!---------------------------------------------------------------------- 85 86 !! *** SUBROUTINE trc_bdy_dmp *** … … 90 91 !!---------------------------------------------------------------------- 91 92 INTEGER, INTENT(in) :: kt 93 INTEGER, INTENT(in) :: Kbb, Krhs ! time level indices 92 94 !! 93 95 INTEGER :: jn ! Tracer index … … 110 112 zwgt = idx_bdy(ib_bdy)%nbd(ib,igrd) 111 113 DO ik = 1, jpkm1 112 zta = zwgt * ( trcdta_bdy(jn, ib_bdy)%trc(ib,ik) - tr b(ii,ij,ik,jn) ) * tmask(ii,ij,ik)113 tr a(ii,ij,ik,jn) = tra(ii,ij,ik,jn) + zta114 zta = zwgt * ( trcdta_bdy(jn, ib_bdy)%trc(ib,ik) - tr(ii,ij,ik,jn,Kbb) ) * tmask(ii,ij,ik) 115 tr(ii,ij,ik,jn,Krhs) = tr(ii,ij,ik,jn,Krhs) + zta 114 116 END DO 115 117 END DO
Note: See TracChangeset
for help on using the changeset viewer.