- Timestamp:
- 2020-12-24T07:20:29+01:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0.4_CO9_package/src/OCE
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_CO9_package/src/OCE/BDY/bdyini.F90
r14075 r14250 598 598 DO ib = 1, idx_bdy(ib_bdy)%nblen(igrd) 599 599 ir = MAX( 1, idx_bdy(ib_bdy)%nbr(ib,igrd) ) ! both rim 0 and rim 1 have the same weights 600 idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( REAL( ir - 1 ) *0.5 ) ! tanh formulation 600 ! idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( REAL( ir - 1 ) *0.5 ) ! tanh formulation 601 idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( FLOAT( ir - 1 ) * 0.5 & 602 & *(10./FLOAT(nn_rimwidth(ib_bdy))) ) ! JGraham:modified for rim=15 601 603 ! idx_bdy(ib_bdy)%nbw(ib,igrd) = (REAL(nn_rimwidth(ib_bdy)+1-ir)/REAL(nn_rimwidth(ib_bdy)))**2. ! quadratic 602 604 ! idx_bdy(ib_bdy)%nbw(ib,igrd) = REAL(nn_rimwidth(ib_bdy)+1-ir)/REAL(nn_rimwidth(ib_bdy)) ! linear -
NEMO/branches/UKMO/NEMO_4.0.4_CO9_package/src/OCE/BDY/bdytides.F90
r14075 r14250 147 147 ! 148 148 ! SSH fields 149 IF( ASSOCIATED(dta%ssh) ) THEN ! we use bdy ssh on this mpi subdomain150 149 clfile = TRIM(filtide)//'_grid_T.nc' 151 150 CALL iom_open( clfile , inum ) … … 154 153 CALL iom_get( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_z1', ztr(:,:) ) 155 154 CALL iom_get( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_z2', zti(:,:) ) 155 IF( ASSOCIATED(dta%ssh) ) THEN ! we use bdy ssh on this mpi subdomain 156 156 DO ib = 1, SIZE(dta%ssh) 157 157 ii = idx_bdy(ib_bdy)%nbi(ib,igrd) … … 160 160 td%ssh0(ib,itide,2) = zti(ii,ij) 161 161 END DO 162 ENDIF 162 163 END DO 163 164 CALL iom_close( inum ) 164 END IF165 165 ! 166 166 ! U fields 167 IF( ASSOCIATED(dta%u2d) ) THEN ! we use bdy u2d on this mpi subdomain168 167 clfile = TRIM(filtide)//'_grid_U.nc' 169 168 CALL iom_open( clfile , inum ) … … 172 171 CALL iom_get ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_u1', ztr(:,:) ) 173 172 CALL iom_get ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_u2', zti(:,:) ) 173 IF( ASSOCIATED(dta%u2d) ) THEN ! we use bdy u2d on this mpi subdomain 174 174 DO ib = 1, SIZE(dta%u2d) 175 175 ii = idx_bdy(ib_bdy)%nbi(ib,igrd) … … 178 178 td%u0(ib,itide,2) = zti(ii,ij) 179 179 END DO 180 END IF 180 181 END DO 181 CALL iom_close( inum ) 182 END IF 182 CALL iom_close( inum ) 183 183 ! 184 184 ! V fields 185 IF( ASSOCIATED(dta%v2d) ) THEN ! we use bdy v2d on this mpi subdomain186 185 clfile = TRIM(filtide)//'_grid_V.nc' 187 186 CALL iom_open( clfile , inum ) … … 190 189 CALL iom_get ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_v1', ztr(:,:) ) 191 190 CALL iom_get ( inum, jpdom_autoglo, TRIM(Wave(ntide(itide))%cname_tide)//'_v2', zti(:,:) ) 191 IF( ASSOCIATED(dta%v2d) ) THEN ! we use bdy v2d on this mpi subdomain 192 192 DO ib = 1, SIZE(dta%v2d) 193 193 ii = idx_bdy(ib_bdy)%nbi(ib,igrd) … … 196 196 td%v0(ib,itide,2) = zti(ii,ij) 197 197 END DO 198 END IF 198 199 END DO 199 CALL iom_close( inum ) 200 END IF 200 CALL iom_close( inum ) 201 201 ! 202 202 DEALLOCATE( ztr, zti ) -
NEMO/branches/UKMO/NEMO_4.0.4_CO9_package/src/OCE/SBC/tide.h90
r14075 r14250 28 28 Wave(18) = tide( 'L2' , 0.006694 , 2 , 2 , -1 , 2 , -1 , 0 , +180 , 2 , -2 , 0 , 0 , 0 , 215 ) 29 29 Wave(19) = tide( 'T2' , 0.006614 , 2 , 2 , 0 , -1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) 30 ! 31 ! !! name_tide , equitide , nutide , nt , ns , nh , np , np1 , shift , nksi , nnu0 , nnu1 , nnu2 , R , formula !! 32 Wave(20) = tide( 'MNS2' , 0.000000 , 2 , 2 , -5 , 4 , 1 , 0 , 0 , 4 , -4 , 0 , 0 , 0 , 6 ) 33 Wave(21) = tide( 'Lam2' , 0.001760 , 2 , 2 , -1 , 0 , 1 , 0 , +180 , 2 , -2 , 0 , 0 , 0 , 78 ) 34 Wave(22) = tide( 'MSN2' , 0.000000 , 2 , 2 , 1 , 0 , 1 , 0 , 0 , 2 , -2 , 0 , 2 , 0 , 6 ) 35 Wave(23) = tide( '2SM2' , 0.000000 , 2 , 2 , 2 , -2 , 0 , 0 , 0 , -2 , 2 , 0 , 0 , 0 , 16 ) 36 Wave(24) = tide( 'MO3' , 0.000000 , 3 , 3 , -4 , 1 , 0 , 0 , +90 , 2 , -2 , 0 , 0 , 0 , 13 ) 37 Wave(25) = tide( 'MK3' , 0.000000 , 3 , 3 , -2 , 3 , 0 , 0 , -90 , 2 , -2 , -1 , 0 , 0 , 10 ) 38 Wave(26) = tide( 'MN4' , 0.000000 , 4 , 4 , -5 , 4 , 1 , 0 , 0 , 4 , -4 , 0 , 0 , 0 , 1 ) 39 Wave(27) = tide( 'MS4' , 0.000000 , 4 , 4 , -2 , 2 , 0 , 0 , 0 , 2 , -2 , 0 , 0 , 0 , 2 ) 40 Wave(28) = tide( 'M6' , 0.000000 , 6 , 6 , -6 , 6 , 0 , 0 , 0 , 6 , -6 , 0 , 0 , 0 , 4 ) 41 Wave(29) = tide( '2MS6' , 0.000000 , 6 , 6 , -4 , 4 , 0 , 0 , 0 , 4 , -4 , 0 , 0 , 0 , 6 ) 42 Wave(30) = tide( '2MK6' , 0.000000 , 6 , 6 , -4 , 6 , 0 , 0 , 0 , 4 , -4 , 0 , -2 , 0 , 5 ) 43 Wave(31) = tide( '3M2S2' , 0.000000 , 2 , 2 , -6 , 6 , 0 , 0 , 0 , 6 , -6 , 0 , 0 , 0 , 12 ) -
NEMO/branches/UKMO/NEMO_4.0.4_CO9_package/src/OCE/SBC/tide_mod.F90
r14075 r14250 16 16 PUBLIC tide_init_Wave ! called by tideini and diaharm modules 17 17 18 INTEGER, PUBLIC, PARAMETER :: jpmax_harmo = 19!: maximum number of harmonic18 INTEGER, PUBLIC, PARAMETER :: jpmax_harmo = 31 !: maximum number of harmonic 19 19 20 20 TYPE, PUBLIC :: tide -
NEMO/branches/UKMO/NEMO_4.0.4_CO9_package/src/OCE/ZDF/zdfgls.F90
r14075 r14250 188 188 DO jj = 2, jpjm1 ! bottom friction 189 189 DO ji = fs_2, fs_jpim1 ! vector opt. 190 zmsku = ( 2._wp - umask(ji-1,jj,mbkt(ji,jj)) * umask(ji,jj,mbkt(ji,jj)) )191 zmskv = ( 2._wp - vmask(ji,jj-1,mbkt(ji,jj)) * vmask(ji,jj,mbkt(ji,jj)) ) ! (CAUTION: CdU<0)190 zmsku = 0.5*( 2._wp - umask(ji-1,jj,mbkt(ji,jj)) * umask(ji,jj,mbkt(ji,jj)) ) 191 zmskv = 0.5*( 2._wp - vmask(ji,jj-1,mbkt(ji,jj)) * vmask(ji,jj,mbkt(ji,jj)) ) ! (CAUTION: CdU<0) 192 192 ustar2_bot(ji,jj) = - rCdU_bot(ji,jj) * SQRT( ( zmsku*( ub(ji,jj,mbkt(ji,jj))+ub(ji-1,jj,mbkt(ji,jj)) ) )**2 & 193 193 & + ( zmskv*( vb(ji,jj,mbkt(ji,jj))+vb(ji,jj-1,mbkt(ji,jj)) ) )**2 ) … … 406 406 ! 407 407 z_en = MAX( rc02r * ustar2_bot(ji,jj), rn_emin ) 408 409 !CEOD This is not set in default code .. bug. 410 en(ji,jj,ibot) = MAX( rc02r * ustar2_bot(ji,jj), rn_emin ) 411 408 412 ! 409 413 ! Bottom level Dirichlet condition:
Note: See TracChangeset
for help on using the changeset viewer.