Changeset 11769
- Timestamp:
- 2019-10-23T12:08:33+02:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/cfgs/SHARED/field_def_nemo-oce.xml
r11574 r11769 29 29 30 30 <!-- AGRIF sponge --> 31 <field id=" fsahm_spt" long_name=" AGRIF t-sponge viscosity coefficient" unit="m2/s" />31 <field id="agrif_spt" long_name=" AGRIF t-sponge coefficient" unit=" " /> 32 32 33 33 <!-- t-eddy viscosity coefficients (ldfdyn) --> … … 366 366 367 367 <!-- AGRIF sponge --> 368 <field id=" fsaht_spu" long_name=" AGRIF u-sponge diffusivity coefficient" unit="m2/s" />368 <field id="agrif_spu" long_name=" AGRIF u-sponge coefficient" unit=" " /> 369 369 370 370 <!-- u-eddy diffusivity coefficients (available if ln_traldf_OFF=F) --> … … 423 423 424 424 <!-- AGRIF sponge --> 425 <field id=" fsaht_spv" long_name=" AGRIF v-sponge diffusivity coefficient" unit="m2/s" />425 <field id="agrif_spv" long_name=" AGRIF v-sponge coefficient" unit=" " /> 426 426 427 427 <!-- v-eddy diffusivity coefficients (available if ln_traldf_OFF=F) --> … … 504 504 <!-- F grid --> 505 505 <!-- AGRIF sponge --> 506 <field id=" fsahm_spf" long_name=" AGRIF f-sponge viscosity coefficient" unit="m2/s" />506 <field id="agrif_spf" long_name=" AGRIF f-sponge coefficient" unit=" " /> 507 507 508 508 <!-- f-eddy viscosity coefficients (ldfdyn) --> -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/cfgs/SHARED/namelist_ref
r11740 r11769 564 564 rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] 565 565 rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] 566 rn_trelax_tra = 0.01 ! inverse of relaxation time (in steps) for tracers [] 567 rn_trelax_dyn = 0.01 ! inverse of relaxation time (in steps) for dynamics [] 566 568 ln_chk_bathy = .false. ! =T check the parent bathymetry 567 569 / -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce.F90
r11741 r11769 24 24 REAL(wp), PUBLIC :: rn_sponge_tra = 2800. !: sponge coeff. for tracers 25 25 REAL(wp), PUBLIC :: rn_sponge_dyn = 2800. !: sponge coeff. for dynamics 26 REAL(wp), PUBLIC :: rn_trelax_tra = 0.01 !: time relaxation parameter for tracers 27 REAL(wp), PUBLIC :: rn_trelax_dyn = 0.01 !: time relaxation parameter for momentum 26 28 LOGICAL , PUBLIC :: ln_chk_bathy = .FALSE. !: check of parent bathymetry 27 29 ! … … 40 42 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: utint_stage 41 43 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vtint_stage 42 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fs aht_spu, fsaht_spv !: sponge diffusivities43 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fs ahm_spt, fsahm_spf !: sponge viscosities44 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fspu, fspv !: sponge arrays 45 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fspt, fspf !: " " 44 46 45 47 ! Barotropic arrays used to store open boundary data during time-splitting loop: … … 82 84 ierr(:) = 0 83 85 ! 84 ALLOCATE( fs aht_spu(jpi,jpj), fsaht_spv(jpi,jpj),&85 & fs ahm_spt(jpi,jpj), fsahm_spf(jpi,jpj),&86 ALLOCATE( fspu(jpi,jpj), fspv(jpi,jpj), & 87 & fspt(jpi,jpj), fspf(jpi,jpj), & 86 88 & tabspongedone_tsn(jpi,jpj), & 87 89 & utint_stage(jpi,jpj), vtint_stage(jpi,jpj), & -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_interp.F90
r11741 r11769 684 684 ! Interpolate thicknesses 685 685 ! Warning: these are masked, hence extrapolated prior interpolation. 686 DO jk=k1,k2 -1686 DO jk=k1,k2 687 687 DO jj=j1,j2 688 688 DO ji=i1,i2 … … 731 731 N_out = 0 732 732 DO jk=1,jpk ! jpk of child grid 733 IF (tmask(ji,jj,jk) == 0 ) EXIT733 IF (tmask(ji,jj,jk) == 0._wp) EXIT 734 734 N_out = N_out + 1 735 735 h_out(jk) = e3t_a(ji,jj,jk) … … 945 945 h_out(N_out) = e3v_a(ji,jj,jk) 946 946 END DO 947 948 947 IF (N_in*N_out > 0) THEN 949 948 call reconstructandremap(tabin(1:N_in),h_in(1:N_in),va(ji,jj,1:N_out),h_out(1:N_out),N_in,N_out,1) -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_sponge.F90
r11741 r11769 60 60 #endif 61 61 ! 62 CALL iom_put(" fsaht_spu", fsaht_spu(:,:))63 CALL iom_put(" fsaht_spv", fsaht_spv(:,:))62 CALL iom_put("agrif_spu", fspu(:,:)) 63 CALL iom_put("agrif_spv", fspv(:,:)) 64 64 ! 65 65 END SUBROUTINE Agrif_Sponge_Tra … … 90 90 #endif 91 91 ! 92 CALL iom_put(" fsahm_spt", fsahm_spt(:,:))93 CALL iom_put(" fsahm_spf", fsahm_spf(:,:))92 CALL iom_put("agrif_spt", fspt(:,:)) 93 CALL iom_put("agrif_spf", fspf(:,:)) 94 94 ! 95 95 END SUBROUTINE Agrif_Sponge_dyn … … 108 108 !!---------------------------------------------------------------------- 109 109 ! 110 ! Sponge 1d example with: 111 ! iraf = 3 ; nbghost = 3 ; nn_sponge_len = 2 112 ! 113 !coarse : U T U T U T U 114 !| | | | | 115 !fine : t u t u t u t u t u t u t u t u t u t u t 116 !sponge val:0 0 0 1 5/6 4/6 3/6 2/6 1/6 0 0 117 ! | ghost | <-- sponge area -- > | 118 ! | points | | 119 ! |--> dynamical interface 120 110 121 #if defined SPONGE || defined SPONGE_TOP 111 122 IF (( .NOT. spongedoneT ).OR.( .NOT. spongedoneU )) THEN … … 163 174 ! Store it in ztabramp 164 175 165 ispongearea = 1 +nn_sponge_len * Agrif_irhox()176 ispongearea = nn_sponge_len * Agrif_irhox() 166 177 z1_ispongearea = 1._wp / REAL( ispongearea ) 167 jspongearea = 1 +nn_sponge_len * Agrif_irhoy()178 jspongearea = nn_sponge_len * Agrif_irhoy() 168 179 z1_jspongearea = 1._wp / REAL( jspongearea ) 169 180 … … 248 259 ! Tracers 249 260 IF( .NOT. spongedoneT ) THEN 250 fs aht_spu(:,:) = 0._wp251 fs aht_spv(:,:) = 0._wp261 fspu(:,:) = 0._wp 262 fspv(:,:) = 0._wp 252 263 DO jj = 2, jpjm1 253 264 DO ji = 2, jpim1 ! vector opt. 254 fs aht_spu(ji,jj) = 0.5_wp * rn_sponge_tra* ( ztabramp(ji,jj) + ztabramp(ji+1,jj ) )255 fs aht_spv(ji,jj) = 0.5_wp * rn_sponge_tra* ( ztabramp(ji,jj) + ztabramp(ji ,jj+1) )256 END DO 257 END DO 258 CALL lbc_lnk( 'agrif_Sponge', fs aht_spu, 'U', 1. ) ! Lateral boundary conditions259 CALL lbc_lnk( 'agrif_Sponge', fs aht_spv, 'V', 1. )265 fspu(ji,jj) = 0.5_wp * ( ztabramp(ji,jj) + ztabramp(ji+1,jj ) ) 266 fspv(ji,jj) = 0.5_wp * ( ztabramp(ji,jj) + ztabramp(ji ,jj+1) ) 267 END DO 268 END DO 269 CALL lbc_lnk( 'agrif_Sponge', fspu, 'U', 1. ) ! Lateral boundary conditions 270 CALL lbc_lnk( 'agrif_Sponge', fspv, 'V', 1. ) 260 271 261 272 spongedoneT = .TRUE. … … 264 275 ! Dynamics 265 276 IF( .NOT. spongedoneU ) THEN 266 fs ahm_spt(:,:) = 0._wp267 fs ahm_spf(:,:) = 0._wp277 fspt(:,:) = 0._wp 278 fspf(:,:) = 0._wp 268 279 DO jj = 2, jpjm1 269 280 DO ji = 2, jpim1 ! vector opt. 270 fs ahm_spt(ji,jj) = rn_sponge_dyn *ztabramp(ji,jj)271 fs ahm_spf(ji,jj) = 0.25_wp * rn_sponge_dyn* ( ztabramp(ji ,jj ) + ztabramp(ji ,jj+1) &272 273 END DO 274 END DO 275 CALL lbc_lnk( 'agrif_Sponge', fs ahm_spt, 'T', 1. ) ! Lateral boundary conditions276 CALL lbc_lnk( 'agrif_Sponge', fs ahm_spf, 'F', 1. )281 fspt(ji,jj) = ztabramp(ji,jj) 282 fspf(ji,jj) = 0.25_wp * ( ztabramp(ji ,jj ) + ztabramp(ji ,jj+1) & 283 & +ztabramp(ji+1,jj+1) + ztabramp(ji+1,jj ) ) 284 END DO 285 END DO 286 CALL lbc_lnk( 'agrif_Sponge', fspt, 'T', 1. ) ! Lateral boundary conditions 287 CALL lbc_lnk( 'agrif_Sponge', fspf, 'F', 1. ) 277 288 278 289 spongedoneU = .TRUE. … … 293 304 INTEGER :: ji, jj, jk, jn ! dummy loop indices 294 305 INTEGER :: iku, ikv 295 REAL(wp) :: ztsa, zabe1, zabe2, zbtr, zhtot 306 REAL(wp) :: ztsa, zabe1, zabe2, zbtr, zhtot, ztrelax 296 307 REAL(wp), DIMENSION(i1:i2,j1:j2,jpk) :: ztu, ztv 297 308 REAL(wp), DIMENSION(i1:i2,j1:j2,jpk,n1:n2) ::tsbdiff … … 318 329 ! Interpolate thicknesses 319 330 ! Warning: these are masked, hence extrapolated prior interpolation. 320 DO jk=k1,k2 -1331 DO jk=k1,k2 321 332 DO jj=j1,j2 322 333 DO ji=i1,i2 … … 397 408 ENDDO 398 409 410 !* set relaxation time scale 411 IF( neuler == 0 .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_tra / ( rdt ) 412 ELSE ; ztrelax = rn_trelax_tra / (2._wp * rdt ) 413 ENDIF 414 399 415 DO jn = 1, jpts 400 416 DO jk = 1, jpkm1 … … 402 418 DO jj = j1,j2 403 419 DO ji = i1,i2-1 404 zabe1 = fsaht_spu(ji,jj) * umask(ji,jj,jk) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk)420 zabe1 = rn_sponge_tra * fspu(ji,jj) * umask(ji,jj,jk) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk) 405 421 ztu(ji,jj,jk) = zabe1 * ( tsbdiff(ji+1,jj ,jk,jn) - tsbdiff(ji,jj,jk,jn) ) 406 422 END DO … … 409 425 DO ji = i1,i2 410 426 DO jj = j1,j2-1 411 zabe2 = fsaht_spv(ji,jj) * vmask(ji,jj,jk) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk)427 zabe2 = rn_sponge_tra * fspv(ji,jj) * vmask(ji,jj,jk) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk) 412 428 ztv(ji,jj,jk) = zabe2 * ( tsbdiff(ji ,jj+1,jk,jn) - tsbdiff(ji,jj,jk,jn) ) 413 429 END DO … … 433 449 zbtr = r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) 434 450 ! horizontal diffusive trends 435 ztsa = zbtr * ( ztu(ji,jj,jk) - ztu(ji-1,jj,jk) + ztv(ji,jj,jk) - ztv(ji,jj-1,jk) ) 451 ztsa = zbtr * ( ztu(ji,jj,jk) - ztu(ji-1,jj,jk) + ztv(ji,jj,jk) - ztv(ji,jj-1,jk) ) & 452 & - ztrelax * fspt(ji,jj) * tsbdiff(ji,jj,jk,jn) 436 453 ! add it to the general tracer trends 437 454 tsa(ji,jj,jk,jn) = tsa(ji,jj,jk,jn) + ztsa … … 460 477 461 478 ! sponge parameters 462 REAL(wp) :: ze2u, ze1v, zua, zva, zbtr, zhtot 479 REAL(wp) :: ze2u, ze1v, zua, zva, zbtr, zhtot, ztrelax 463 480 REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk) :: ubdiff 464 481 REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk) :: rotdiff, hdivdiff … … 548 565 ubdiff(i1:i2,j1:j2,:) = (ub(i1:i2,j1:j2,:) - tabres(i1:i2,j1:j2,:,1))*umask(i1:i2,j1:j2,:) 549 566 #endif 567 !* set relaxation time scale 568 IF( neuler == 0 .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_dyn / ( rdt ) 569 ELSE ; ztrelax = rn_trelax_dyn / (2._wp * rdt ) 570 ENDIF 550 571 ! 551 572 DO jk = 1, jpkm1 ! Horizontal slab … … 557 578 DO jj = j1,j2 558 579 DO ji = i1+1,i2 ! vector opt. 559 zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * fsahm_spt(ji,jj)580 zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * rn_sponge_dyn * fspt(ji,jj) 560 581 hdivdiff(ji,jj,jk) = ( e2u(ji ,jj)*e3u_b(ji ,jj,jk) * ubdiff(ji ,jj,jk) & 561 582 & -e2u(ji-1,jj)*e3u_b(ji-1,jj,jk) * ubdiff(ji-1,jj,jk) ) * zbtr … … 565 586 DO jj = j1,j2-1 566 587 DO ji = i1,i2 ! vector opt. 567 zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * fsahm_spf(ji,jj)588 zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * rn_sponge_dyn * fspf(ji,jj) 568 589 rotdiff(ji,jj,jk) = ( -e1u(ji,jj+1) * ubdiff(ji,jj+1,jk) & 569 590 & +e1u(ji,jj ) * ubdiff(ji,jj ,jk) ) * fmask(ji,jj,jk) * zbtr … … 581 602 ! horizontal diffusive trends 582 603 zua = - ( ze2u - rotdiff (ji,jj-1,jk) ) / ( e2u(ji,jj) * e3u_n(ji,jj,jk) ) & 583 + ( hdivdiff(ji+1,jj,jk) - ze1v ) * r1_e1u(ji,jj) 604 & + ( hdivdiff(ji+1,jj,jk) - ze1v ) * r1_e1u(ji,jj) & 605 & - ztrelax * fspu(ji,jj) * ubdiff(ji,jj,jk) 584 606 585 607 ! add it to the general momentum trends 586 ua(ji,jj,jk) = ua(ji,jj,jk) + zua 587 608 ua(ji,jj,jk) = ua(ji,jj,jk) + zua 588 609 END DO 589 610 ENDIF … … 633 654 ! 634 655 INTEGER :: ji, jj, jk, imax 635 REAL(wp) :: ze2u, ze1v, zua, zva, zbtr, zhtot 656 REAL(wp) :: ze2u, ze1v, zua, zva, zbtr, zhtot, ztrelax 636 657 REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk) :: vbdiff 637 658 REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk) :: rotdiff, hdivdiff … … 720 741 vbdiff(i1:i2,j1:j2,:) = (vb(i1:i2,j1:j2,:) - tabres(i1:i2,j1:j2,:,1))*vmask(i1:i2,j1:j2,:) 721 742 # endif 743 !* set relaxation time scale 744 IF( neuler == 0 .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_dyn / ( rdt ) 745 ELSE ; ztrelax = rn_trelax_dyn / (2._wp * rdt ) 746 ENDIF 722 747 ! 723 748 DO jk = 1, jpkm1 ! Horizontal slab … … 729 754 DO jj = j1+1,j2 730 755 DO ji = i1,i2 ! vector opt. 731 zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * fsahm_spt(ji,jj)756 zbtr = r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk) * rn_sponge_dyn * fspt(ji,jj) 732 757 hdivdiff(ji,jj,jk) = ( e1v(ji,jj ) * e3v_b(ji,jj ,jk) * vbdiff(ji,jj ,jk) & 733 758 & -e1v(ji,jj-1) * e3v_b(ji,jj-1,jk) * vbdiff(ji,jj-1,jk) ) * zbtr … … 736 761 DO jj = j1,j2 737 762 DO ji = i1,i2-1 ! vector opt. 738 zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * fsahm_spf(ji,jj)763 zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * rn_sponge_dyn * fspf(ji,jj) 739 764 rotdiff(ji,jj,jk) = ( e2v(ji+1,jj) * vbdiff(ji+1,jj,jk) & 740 765 & -e2v(ji ,jj) * vbdiff(ji ,jj,jk) ) * fmask(ji,jj,jk) * zbtr … … 769 794 va(ji,jj,jk) = va(ji,jj,jk) & 770 795 & + ( rotdiff (ji,jj ,jk) - rotdiff (ji-1,jj,jk) ) / ( e1v(ji,jj) * e3v_n(ji,jj,jk) ) & 771 & + ( hdivdiff(ji,jj+1,jk) - hdivdiff(ji ,jj,jk) ) * r1_e2v(ji,jj) 796 & + ( hdivdiff(ji,jj+1,jk) - hdivdiff(ji ,jj,jk) ) * r1_e2v(ji,jj) & 797 & - ztrelax * fspv(ji,jj) * vbdiff(ji,jj,jk) 772 798 END DO 773 799 ENDIF -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_sponge.F90
r11625 r11769 67 67 ! 68 68 INTEGER :: ji, jj, jk, jn ! dummy loop indices 69 REAL(wp) :: zabe1, zabe2 69 REAL(wp) :: zabe1, zabe2, ztrelax 70 70 REAL(wp), DIMENSION(i1:i2,j1:j2) :: ztu, ztv 71 71 REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,1:jptra) :: trbdiff … … 136 136 ENDDO 137 137 138 !* set relaxation time scale 139 IF( neuler == 0 .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_tra / ( rdt ) 140 ELSE ; ztrelax = rn_trelax_tra / (2._wp * rdt ) 141 ENDIF 142 138 143 DO jn = 1, jptra 139 144 DO jk = 1, jpkm1 140 145 DO jj = j1,j2-1 141 146 DO ji = i1,i2-1 142 zabe1 = fsaht_spu(ji,jj) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk)143 zabe2 = fsaht_spv(ji,jj) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk)147 zabe1 = rn_sponge_tra * fspu(ji,jj) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk) 148 zabe2 = rn_sponge_tra * fspv(ji,jj) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) 144 149 ztu(ji,jj) = zabe1 * ( trbdiff(ji+1,jj ,jk,jn) - trbdiff(ji,jj,jk,jn) ) 145 150 ztv(ji,jj) = zabe2 * ( trbdiff(ji ,jj+1,jk,jn) - trbdiff(ji,jj,jk,jn) ) … … 152 157 tra(ji,jj,jk,jn) = tra(ji,jj,jk,jn) + ( ztu(ji,jj) - ztu(ji-1,jj ) & 153 158 & + ztv(ji,jj) - ztv(ji ,jj-1) ) & 154 & * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) 159 & * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) & 160 & - ztrelax * fspt(ji,jj) * trbdiff(ji,jj,jk,jn) 155 161 ENDIF 156 162 END DO -
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_user.F90
r11741 r11769 383 383 CALL Agrif_Set_bc( vn_interp_id, (/0,ind1-1/) ) 384 384 385 CALL Agrif_Set_bc( tsn_sponge_id, (/-nn_sponge_len*Agrif_irhox() -1,0/) ) ! if west and rhox=3 and sponge=2 and ghost=1: columns 2 to 9386 CALL Agrif_Set_bc( un_sponge_id, (/-nn_sponge_len*Agrif_irhox() -1,0/) )387 CALL Agrif_Set_bc( vn_sponge_id, (/-nn_sponge_len*Agrif_irhox() -1,0/) )385 CALL Agrif_Set_bc( tsn_sponge_id, (/-nn_sponge_len*Agrif_irhox(),0/) ) ! if west and rhox=3 and sponge=2 and ghost=1: columns 2 to 9 386 CALL Agrif_Set_bc( un_sponge_id, (/-nn_sponge_len*Agrif_irhox(),0/) ) 387 CALL Agrif_Set_bc( vn_sponge_id, (/-nn_sponge_len*Agrif_irhox(),0/) ) 388 388 389 389 CALL Agrif_Set_bc( sshn_id, (/0,ind1-1/) ) … … 398 398 # if defined key_vertical 399 399 ! extend the interpolation zone by 1 more point than necessary: 400 CALL Agrif_Set_bc( mbkt_id, (/-nn_sponge_len*Agrif_irhox()- 2,ind1/) )401 CALL Agrif_Set_bc( ht0_id, (/-nn_sponge_len*Agrif_irhox()- 2,ind1/) )400 CALL Agrif_Set_bc( mbkt_id, (/-nn_sponge_len*Agrif_irhox()-1,ind1/) ) 401 CALL Agrif_Set_bc( ht0_id, (/-nn_sponge_len*Agrif_irhox()-1,ind1/) ) 402 402 # endif 403 403 … … 691 691 ! 692 692 INTEGER :: ios ! Local integer output status for namelist read 693 NAMELIST/namagrif/ ln_agrif_2way, rn_sponge_tra, rn_sponge_dyn, ln_spc_dyn, ln_chk_bathy 693 NAMELIST/namagrif/ ln_agrif_2way, rn_sponge_tra, rn_sponge_dyn, rn_trelax_tra, rn_trelax_dyn, & 694 & ln_spc_dyn, ln_chk_bathy 694 695 !!-------------------------------------------------------------------------------------- 695 696 ! … … 710 711 WRITE(numout,*) ' sponge coefficient for tracers rn_sponge_tra = ', rn_sponge_tra, ' m^2/s' 711 712 WRITE(numout,*) ' sponge coefficient for dynamics rn_sponge_tra = ', rn_sponge_dyn, ' m^2/s' 713 WRITE(numout,*) ' time relaxation for tracers rn_trelax_tra = ', rn_trelax_tra, ' ad.' 714 WRITE(numout,*) ' time relaxation for dynamics rn_trelax_dyn = ', rn_trelax_dyn, ' ad.' 712 715 WRITE(numout,*) ' use special values for dynamics ln_spc_dyn = ', ln_spc_dyn 713 716 WRITE(numout,*) ' check bathymetry ln_chk_bathy = ', ln_chk_bathy
Note: See TracChangeset
for help on using the changeset viewer.