Changeset 11549
 Timestamp:
 20190916T14:48:51+02:00 (16 months ago)
 Location:
 NEMO/branches/2019/dev_r10973_AGRIF01_jchanut_small_jpi_jpj
 Files:

 2 edited
Legend:
 Unmodified
 Added
 Removed

NEMO/branches/2019/dev_r10973_AGRIF01_jchanut_small_jpi_jpj/cfgs/SHARED/field_def_nemooce.xml
r10824 r11549 27 27 <field id="soce" long_name="salinity" standard_name="sea_water_practical_salinity" unit="1e3" grid_ref="grid_T_3D"/> 28 28 <field id="soce_e3t" long_name="salinity (thickness weighted)" unit="1e3" grid_ref="grid_T_3D" > soce * e3t </field > 29 30 <! AGRIF sponge > 31 <field id="fsahm_spt" long_name=" AGRIF tsponge viscosity coefficient" unit="m2/s" /> 29 32 30 33 <! teddy viscosity coefficients (ldfdyn) > … … 364 367 <field id="uoces" long_name="ocean transport along iaxis times salinity (CRS)" unit="1e3*m/s" grid_ref="grid_U_3D" /> 365 368 369 370 <! AGRIF sponge > 371 <field id="fsaht_spu" long_name=" AGRIF usponge diffusivity coefficient" unit="m2/s" /> 372 366 373 <! ueddy diffusivity coefficients (available if ln_traldf_OFF=F) > 367 374 <field id="ahtu_2d" long_name=" surface ueddy diffusivity coefficient" unit="m2/s or m4/s" /> … … 418 425 <field id="voces" long_name="ocean transport along jaxis times salinity (CRS)" unit="1e3*m/s" grid_ref="grid_V_3D" /> 419 426 427 <! AGRIF sponge > 428 <field id="fsaht_spv" long_name=" AGRIF vsponge diffusivity coefficient" unit="m2/s" /> 429 420 430 <! veddy diffusivity coefficients (available if ln_traldf_OFF=F) > 421 431 <field id="ahtv_2d" long_name=" surface veddy diffusivity coefficient" unit="m2/s or (m4/s)^1/2" /> … … 496 506 497 507 <! F grid > 508 <! AGRIF sponge > 509 <field id="fsahm_spf" long_name=" AGRIF fsponge viscosity coefficient" unit="m2/s" /> 510 498 511 <! feddy viscosity coefficients (ldfdyn) > 499 512 <field id="ahmf_2d" long_name=" surface feddy viscosity coefficient" unit="m2/s or m4/s" /> 
NEMO/branches/2019/dev_r10973_AGRIF01_jchanut_small_jpi_jpj/src/NST/agrif_oce_sponge.F90
r11542 r11549 22 22 USE agrif_oce 23 23 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 24 USE iom 24 25 25 26 IMPLICIT NONE … … 58 59 #endif 59 60 ! 61 CALL iom_put("fsaht_spu", fsaht_spu(:,:)) 62 CALL iom_put("fsaht_spv", fsaht_spv(:,:)) 63 ! 60 64 END SUBROUTINE Agrif_Sponge_Tra 61 65 … … 84 88 Agrif_UseSpecialValue = .FALSE. 85 89 #endif 90 ! 91 CALL iom_put("fsahm_spt", fsahm_spt(:,:)) 92 CALL iom_put("fsahm_spf", fsahm_spf(:,:)) 86 93 ! 87 94 END SUBROUTINE Agrif_Sponge_dyn … … 96 103 REAL(wp) :: z1_ispongearea, z1_jspongearea 97 104 REAL(wp), DIMENSION(jpi,jpj) :: ztabramp 105 REAL(wp), DIMENSION(jpjmax) :: zmskwest, zmskeast 106 REAL(wp), DIMENSION(jpimax) :: zmsknorth, zmsksouth 98 107 !! 99 108 ! 100 109 #if defined SPONGE  defined SPONGE_TOP 101 110 IF (( .NOT. spongedoneT ).OR.( .NOT. spongedoneU )) THEN 111 ! 112 ! Retrieve masks at open boundaries: 113 114 !  West  ! 115 ztabramp(:,:) = 0._wp 116 ind1 = 1+nbghostcells 117 DO ji = mi0(ind1), mi1(ind1) 118 ztabramp(ji,:) = umask(ji,:,1) 119 END DO 120 ! 121 zmskwest(:) = 0._wp 122 zmskwest(1:jpj) = MAXVAL(ztabramp(:,:), dim=1) 123 124 !  East  ! 125 ztabramp(:,:) = 0._wp 126 ind1 = jpiglo  nbghostcells  1 127 DO ji = mi0(ind1), mi1(ind1) 128 ztabramp(ji,:) = umask(ji,:,1) 129 END DO 130 ! 131 zmskeast(:) = 0._wp 132 zmskeast(1:jpj) = MAXVAL(ztabramp(:,:), dim=1) 133 134 !  South  ! 135 ztabramp(:,:) = 0._wp 136 ind1 = 1+nbghostcells 137 DO jj = mj0(ind1), mj1(ind1) 138 ztabramp(:,jj) = vmask(:,jj,1) 139 END DO 140 ! 141 zmsksouth(:) = 0._wp 142 zmsksouth(1:jpi) = MAXVAL(ztabramp(:,:), dim=2) 143 144 !  North  ! 145 ztabramp(:,:) = 0._wp 146 ind1 = jpjglo  nbghostcells  1 147 DO jj = mj0(ind1), mj1(ind1) 148 ztabramp(:,jj) = vmask(:,jj,1) 149 END DO 150 ! 151 zmsknorth(:) = 0._wp 152 zmsknorth(1:jpi) = MAXVAL(ztabramp(:,:), dim=2) 153 154 #if defined key_mpp_mpi 155 CALL mpp_max( 'AGRIF_sponge', zmskwest(:) , jpjmax ) 156 CALL mpp_max( 'AGRIF_Sponge', zmskeast(:) , jpjmax ) 157 CALL mpp_max( 'AGRIF_Sponge', zmsksouth(:), jpimax ) 158 CALL mpp_max( 'AGRIF_Sponge', zmsknorth(:), jpimax ) 159 #endif 160 102 161 ! Define ramp from boundaries towards domain interior at Tpoints 103 162 ! Store it in ztabramp … … 117 176 DO ji = mi0(ind1), mi1(ind2) 118 177 DO jj = 1, jpj 119 ztabramp(ji,jj) = REAL( ind2  mig(ji) ) * z1_ispongearea 178 ztabramp(ji,jj) = REAL( ind2  mig(ji) ) * z1_ispongearea * zmskwest(jj) 179 END DO 180 END DO 181 182 ! ghost cells (cosmetic): 183 ind1 = 1 184 ind2 = nbghostcells 185 DO ji = mi0(ind1), mi1(ind2) 186 DO jj = 1, jpj 187 ztabramp(ji,jj) = zmskwest(jj) 120 188 END DO 121 189 END DO … … 126 194 DO ji = mi0(ind1), mi1(ind2) 127 195 DO jj = 1, jpj 128 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( mig(ji)  ind1 ) * z1_ispongearea) 196 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( mig(ji)  ind1 ) * z1_ispongearea) * zmskeast(jj) 197 ENDDO 198 END DO 199 200 ! ghost cells (cosmetic): 201 ind1 = jpiglo  nbghostcells + 1 202 ind2 = jpiglo 203 DO ji = mi0(ind1), mi1(ind2) 204 DO jj = 1, jpj 205 ztabramp(ji,jj) = zmskeast(jj) 129 206 ENDDO 130 207 END DO … … 135 212 DO jj = mj0(ind1), mj1(ind2) 136 213 DO ji = 1, jpi 137 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ind2  mjg(jj) ) * z1_jspongearea) 214 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( ind2  mjg(jj) ) * z1_jspongearea) * zmsksouth(ji) 215 END DO 216 END DO 217 218 ! ghost cells (cosmetic): 219 ind1 = 1 220 ind2 = nbghostcells 221 DO jj = mj0(ind1), mj1(ind2) 222 DO ji = 1, jpi 223 ztabramp(ji,jj) = zmsksouth(ji) 138 224 END DO 139 225 END DO … … 144 230 DO jj = mj0(ind1), mj1(ind2) 145 231 DO ji = 1, jpi 146 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( mjg(jj)  ind1 ) * z1_jspongearea) 232 ztabramp(ji,jj) = MAX( ztabramp(ji,jj), REAL( mjg(jj)  ind1 ) * z1_jspongearea) * zmsknorth(ji) 233 END DO 234 END DO 235 236 ! ghost cells (cosmetic): 237 ind1 = jpjglo  nbghostcells + 1 238 ind2 = jpjglo 239 DO jj = mj0(ind1), mj1(ind2) 240 DO ji = 1, jpi 241 ztabramp(ji,jj) = zmsknorth(ji) 147 242 END DO 148 243 END DO … … 160 255 END DO 161 256 END DO 162 CALL lbc_lnk( 'agrif_ oce_sponge', fsaht_spu, 'U', 1. ) ! Lateral boundary conditions163 CALL lbc_lnk( 'agrif_ oce_sponge', fsaht_spv, 'V', 1. )257 CALL lbc_lnk( 'agrif_Sponge', fsaht_spu, 'U', 1. ) ! Lateral boundary conditions 258 CALL lbc_lnk( 'agrif_Sponge', fsaht_spv, 'V', 1. ) 164 259 165 260 spongedoneT = .TRUE. … … 177 272 END DO 178 273 END DO 179 CALL lbc_lnk( 'agrif_ oce_sponge', fsahm_spt, 'T', 1. ) ! Lateral boundary conditions180 CALL lbc_lnk( 'agrif_ oce_sponge', fsahm_spf, 'F', 1. )274 CALL lbc_lnk( 'agrif_Sponge', fsahm_spt, 'T', 1. ) ! Lateral boundary conditions 275 CALL lbc_lnk( 'agrif_Sponge', fsahm_spf, 'F', 1. ) 181 276 182 277 spongedoneU = .TRUE.
Note: See TracChangeset
for help on using the changeset viewer.