- Timestamp:
- 2020-05-14T21:46:00+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
- Property svn:externals
-
old new 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 9 # SETTE 10 ^/utils/CI/sette@HEAD sette
-
- Property svn:externals
-
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/BDY/bdylib.F90
r12178 r12928 35 35 CONTAINS 36 36 37 SUBROUTINE bdy_frs( idx, p ta, dta )37 SUBROUTINE bdy_frs( idx, phia, dta ) 38 38 !!---------------------------------------------------------------------- 39 39 !! *** SUBROUTINE bdy_frs *** … … 45 45 TYPE(OBC_INDEX), INTENT(in) :: idx ! OBC indices 46 46 REAL(wp), DIMENSION(:,:), INTENT(in) :: dta ! OBC external data 47 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: p ta ! tracer trend47 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: phia ! tracer trend 48 48 !! 49 49 REAL(wp) :: zwgt ! boundary weight … … 58 58 ij = idx%nbj(ib,igrd) 59 59 zwgt = idx%nbw(ib,igrd) 60 p ta(ii,ij,ik) = ( pta(ii,ij,ik) + zwgt * (dta(ib,ik) - pta(ii,ij,ik) ) ) * tmask(ii,ij,ik)60 phia(ii,ij,ik) = ( phia(ii,ij,ik) + zwgt * (dta(ib,ik) - phia(ii,ij,ik) ) ) * tmask(ii,ij,ik) 61 61 END DO 62 62 END DO … … 65 65 66 66 67 SUBROUTINE bdy_spe( idx, p ta, dta )67 SUBROUTINE bdy_spe( idx, phia, dta ) 68 68 !!---------------------------------------------------------------------- 69 69 !! *** SUBROUTINE bdy_spe *** … … 74 74 TYPE(OBC_INDEX), INTENT(in) :: idx ! OBC indices 75 75 REAL(wp), DIMENSION(:,:), INTENT(in) :: dta ! OBC external data 76 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: p ta ! tracer trend76 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: phia ! tracer trend 77 77 !! 78 78 INTEGER :: ib, ik, igrd ! dummy loop indices … … 85 85 ij = idx%nbj(ib,igrd) 86 86 DO ik = 1, jpkm1 87 p ta(ii,ij,ik) = dta(ib,ik) * tmask(ii,ij,ik)87 phia(ii,ij,ik) = dta(ib,ik) * tmask(ii,ij,ik) 88 88 END DO 89 89 END DO … … 92 92 93 93 94 SUBROUTINE bdy_orl( idx, p tb, pta, dta, lrim0, ll_npo )94 SUBROUTINE bdy_orl( idx, phib, phia, dta, lrim0, ll_npo ) 95 95 !!---------------------------------------------------------------------- 96 96 !! *** SUBROUTINE bdy_orl *** … … 102 102 TYPE(OBC_INDEX), INTENT(in) :: idx ! OBC indices 103 103 REAL(wp), DIMENSION(:,:), INTENT(in) :: dta ! OBC external data 104 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: p tb ! before tracer field105 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: p ta ! tracer trend104 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: phib ! before tracer field 105 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: phia ! tracer trend 106 106 LOGICAL , OPTIONAL, INTENT(in) :: lrim0 ! indicate if rim 0 is treated 107 107 LOGICAL, INTENT(in) :: ll_npo ! switch for NPO version … … 112 112 igrd = 1 ! Everything is at T-points here 113 113 ! 114 CALL bdy_orlanski_3d( idx, igrd, p tb(:,:,:), pta(:,:,:), dta, lrim0, ll_npo )114 CALL bdy_orlanski_3d( idx, igrd, phib(:,:,:), phia(:,:,:), dta, lrim0, ll_npo ) 115 115 ! 116 116 END SUBROUTINE bdy_orl … … 240 240 ! Centred derivative is calculated as average of "left" and "right" derivatives for 241 241 ! this reason. 242 ! Note no r dt factor in expression for zdt because it cancels in the expressions for242 ! Note no rn_Dt factor in expression for zdt because it cancels in the expressions for 243 243 ! zrx and zry. 244 244 zdt = phia(iibm1 ,ijbm1 ) - phib(iibm1 ,ijbm1 ) … … 259 259 zout = sign( 1., zrx ) 260 260 zout = 0.5*( zout + abs(zout) ) 261 zwgt = 2.*r dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) )261 zwgt = 2.*rn_Dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) ) 262 262 ! only apply radiation on outflow points 263 263 if( ll_npo ) then !! NPO version !! … … 425 425 zout = sign( 1., zrx ) 426 426 zout = 0.5*( zout + abs(zout) ) 427 zwgt = 2.*r dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) )427 zwgt = 2.*rn_Dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) ) 428 428 ! only apply radiation on outflow points 429 429 if( ll_npo ) then !! NPO version !!
Note: See TracChangeset
for help on using the changeset viewer.