Changeset 12667
- Timestamp:
- 2020-04-03T16:22:29+02:00 (3 years ago)
- Location:
- NEMO/branches/2020/dev_r12527_Gurvan_ShallowWater
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12527_Gurvan_ShallowWater/cfgs/AM98/EXPREF/file_def_nemo-oce.xml
r12614 r12667 17 17 <file_group id="6h" output_freq="6h" output_level="10" enabled=".TRUE."/> <!-- 6h files --> 18 18 19 <file_group id="1d" output_freq="1d" output_level="10" enabled=".TRUE."/> <!-- 1d files --> 19 <file_group id="1d" output_freq="1d" output_level="10" enabled=".TRUE."/> <!-- 1d files --> 20 20 <file_group id="3d" output_freq="3d" output_level="10" enabled=".TRUE."/> <!-- 3d files --> 21 <file_group id="5d" output_freq="5d" output_level="10" enabled=".TRUE."/> <!-- 5d files --> 22 23 <file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE."> <!-- real monthly files --> 21 <file_group id="5d" output_freq="5d" output_level="10" enabled=".TRUE."> <!-- 5d files --> 24 22 25 23 <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > 26 24 <field field_ref="ht" name="ht" operation = "instant" /> 27 25 <field field_ref="sKE" name="sKE" operation = "instant" /> … … 53 51 54 52 </file_group> 55 53 54 <file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE."/> <!-- real monthly files --> 56 55 <file_group id="2m" output_freq="2mo" output_level="10" enabled=".TRUE."/> <!-- real 2m files --> 57 56 <file_group id="3m" output_freq="3mo" output_level="10" enabled=".TRUE."/> <!-- real 3m files --> -
NEMO/branches/2020/dev_r12527_Gurvan_ShallowWater/cfgs/AM98/EXPREF/namelist_cfg
r12614 r12667 51 51 rn_rfr = 1.e-7 ! layer drag coefficient [1/s] 52 52 ! 53 rn_beta = 2. E-11 ! beta-plan coriolis parameter [1/m.s]54 rn_f0 = 0.7 E-4 ! f-plan coriolis parameter [1/s]53 rn_beta = 2.e-11 ! beta-plan coriolis parameter [1/m.s] 54 rn_f0 = 0.7e-4 ! f-plan coriolis parameter [1/s] 55 55 / 56 56 !----------------------------------------------------------------------- … … 147 147 &namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) 148 148 !----------------------------------------------------------------------- 149 ln_dynvor_ene = .true. ! energy conserving scheme 150 ! ln_dynvor_ens = .true. ! enstrophy conserving scheme 149 ln_dynvor_ene = .true. ! energy conserving scheme 150 ln_dynvor_ens = .false. ! enstrophy conserving scheme 151 ln_dynvor_een = .false. ! energy & enstrophy scheme 152 nn_een_e3f = 0 ! =0 e3f = mi(mj(e3t))/4 153 ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) 154 ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) 155 ! ! (f-point vorticity schemes only) 151 156 / 152 157 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r12527_Gurvan_ShallowWater/src/SWE/diawri.F90
r12614 r12667 180 180 & + e3t(ji,jj ,1,Kmm) * e1e2t(ji,jj ) + e3t(ji+1,jj ,1,Kmm) * e1e2t(ji+1,jj ) ) * r1_e1e2f(ji,jj) 181 181 END_2D 182 z2d(:,:) = z2d(:,:) * ssfmask(:,:) 182 183 CALL lbc_lnk( 'diawri', z2d, 'F', 1._wp ) 183 184 CALL iom_put( "hf", z2d ) -
NEMO/branches/2020/dev_r12527_Gurvan_ShallowWater/src/SWE/dynvor.F90
r12614 r12667 21 21 !! - ! 2018-03 (G. Madec) add two new schemes (ln_dynvor_enT and ln_dynvor_eet) 22 22 !! - ! 2018-04 (G. Madec) add pre-computed gradient for metric term calculation 23 !! 4.x ! 2020-03 (G. Madec, A. Nasser) make ln_dynvor_msk truly efficient on relative vorticity 23 24 !!---------------------------------------------------------------------- 24 25 … … 226 227 ! 227 228 ! 228 SELECT CASE( kvor ) !== volume weightedvorticity considered ==!229 CASE ( np_RVO ) !* relative vorticity230 DO jk = 1, jpkm1 229 SELECT CASE( kvor ) !== relative vorticity considered ==! 230 CASE ( np_RVO , np_CRV ) !* relative vorticity at f-point is used 231 DO jk = 1, jpkm1 ! Horizontal slab 231 232 DO_2D_10_10 232 233 zwz(ji,jj,jk) = ( e2v(ji+1,jj) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk) & 233 234 & - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk) ) * r1_e1e2f(ji,jj) 234 235 END_2D 235 IF( ln_dynvor_msk ) THEN ! mask /unmaskrelative vorticity236 IF( ln_dynvor_msk ) THEN ! mask relative vorticity 236 237 DO_2D_10_10 237 238 zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) … … 239 240 ENDIF 240 241 END DO 241 242 242 CALL lbc_lnk( 'dynvor', zwz, 'F', 1. ) 243 244 CASE ( np_CRV ) !* Coriolis + relative vorticity 245 DO jk = 1, jpkm1 ! Horizontal slab 246 DO_2D_10_10 247 zwz(ji,jj,jk) = ( e2v(ji+1,jj) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk) & 248 & - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk) ) * r1_e1e2f(ji,jj) 249 END_2D 250 IF( ln_dynvor_msk ) THEN ! mask/unmask relative vorticity 251 DO_2D_10_10 252 zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 253 END_2D 254 ENDIF 255 END DO 256 257 CALL lbc_lnk( 'dynvor', zwz, 'F', 1. ) 258 243 ! 259 244 END SELECT 260 245 261 246 ! ! =============== 262 247 DO jk = 1, jpkm1 ! Horizontal slab 263 !! ===============264 248 ! ! =============== 249 ! 265 250 SELECT CASE( kvor ) !== volume weighted vorticity considered ==! 251 ! 266 252 CASE ( np_COR ) !* Coriolis (planetary vorticity) 267 253 zwt(:,:) = ff_t(:,:) * e1e2t(:,:)*e3t(:,:,jk,Kmm) … … 356 342 & - e1u(ji ,jj+1) * pu(ji ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk) ) * r1_e1e2f(ji,jj) 357 343 END_2D 344 IF( ln_dynvor_msk ) THEN ! mask the relative vorticity 345 DO_2D_10_10 346 zwz(ji,jj) = zwz(ji,jj) * fmask(ji,jj,jk) 347 END_2D 348 ENDIF 358 349 CASE ( np_MET ) !* metric term 359 350 DO_2D_10_10 … … 366 357 & - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk) ) * r1_e1e2f(ji,jj) 367 358 END_2D 359 IF( ln_dynvor_msk ) THEN ! mask the relative vorticity (NOT the Coriolis term) 360 DO_2D_10_10 361 zwz(ji,jj) = ( zwz(ji,jj) - ff_f(ji,jj) ) * fmask(ji,jj,jk) + ff_f(ji,jj) 362 END_2D 363 ENDIF 368 364 CASE ( np_CME ) !* Coriolis + metric 369 365 DO_2D_10_10 … … 375 371 END SELECT 376 372 ! 377 IF( ln_dynvor_msk ) THEN !== mask/unmask vorticity ==! 378 DO_2D_10_10 379 zwz(ji,jj) = zwz(ji,jj) * fmask(ji,jj,jk) 380 END_2D 381 ENDIF 382 383 IF( ln_sco ) THEN 384 zwz(:,:) = zwz(:,:) / e3f(:,:,jk) 385 zwx(:,:) = e2u(:,:) * e3u(:,:,jk,Kmm) * pu(:,:,jk) 386 zwy(:,:) = e1v(:,:) * e3v(:,:,jk,Kmm) * pv(:,:,jk) 387 ELSE 388 zwx(:,:) = e2u(:,:) * pu(:,:,jk) 389 zwy(:,:) = e1v(:,:) * pv(:,:,jk) 390 ENDIF 373 ! !== horizontal fluxes and potential vorticity ==! 374 zwx(:,:) = e2u(:,:) * e3u(:,:,jk,Kmm) * pu(:,:,jk) 375 zwy(:,:) = e1v(:,:) * e3v(:,:,jk,Kmm) * pv(:,:,jk) 376 zwz(:,:) = zwz(:,:) / e3f(:,:,jk) 377 ! 391 378 ! !== compute and add the vorticity term trend =! 392 379 DO_2D_00_00 … … 452 439 & - e1u(ji ,jj+1) * pu(ji ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk) ) * r1_e1e2f(ji,jj) 453 440 END_2D 441 IF( ln_dynvor_msk ) THEN ! mask the relative vorticity 442 DO_2D_10_10 443 zwz(ji,jj) = ff_f(ji,jj) * fmask(ji,jj,jk) 444 END_2D 445 ENDIF 454 446 CASE ( np_MET ) !* metric term 455 447 DO_2D_10_10 … … 461 453 zwz(ji,jj) = ff_f(ji,jj) + ( e2v(ji+1,jj ) * pv(ji+1,jj ,jk) - e2v(ji,jj) * pv(ji,jj,jk) & 462 454 & - e1u(ji ,jj+1) * pu(ji ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk) ) * r1_e1e2f(ji,jj) 463 !!an & * fmask(ji,jj,jk) 464 END_2D 455 END_2D 456 IF( ln_dynvor_msk ) THEN ! mask the relative vorticity (NOT the Coriolis term) 457 DO_2D_10_10 458 zwz(ji,jj) = ( zwz(ji,jj) - ff_f(ji,jj) ) * fmask(ji,jj,jk) + ff_f(ji,jj) 459 END_2D 460 ENDIF 465 461 CASE ( np_CME ) !* Coriolis + metric 466 462 DO_2D_10_10 … … 472 468 END SELECT 473 469 ! 474 IF( ln_dynvor_msk ) THEN !== mask/unmask vorticity ==! 475 DO_2D_10_10 476 zwz(ji,jj) = zwz(ji,jj) * fmask(ji,jj,jk) 477 END_2D 478 ENDIF 479 ! 480 IF( ln_sco ) THEN !== horizontal fluxes ==! 481 zwz(:,:) = zwz(:,:) / e3f(:,:,jk) 482 zwx(:,:) = e2u(:,:) * e3u(:,:,jk,Kmm) * pu(:,:,jk) 483 zwy(:,:) = e1v(:,:) * e3v(:,:,jk,Kmm) * pv(:,:,jk) 484 ELSE 485 zwx(:,:) = e2u(:,:) * pu(:,:,jk) 486 zwy(:,:) = e1v(:,:) * pv(:,:,jk) 487 ENDIF 470 ! 471 ! !== horizontal fluxes and potential vorticity ==! 472 zwx(:,:) = e2u(:,:) * e3u(:,:,jk,Kmm) * pu(:,:,jk) 473 zwy(:,:) = e1v(:,:) * e3v(:,:,jk,Kmm) * pv(:,:,jk) 474 zwz(:,:) = zwz(:,:) / e3f(:,:,jk) 475 ! 488 476 ! !== compute and add the vorticity term trend =! 489 477 DO_2D_00_00 … … 725 713 ! 726 714 DO jk = 1, jpkm1 ! Horizontal slab 727 728 ! !== horizontal fluxes ==!715 ! 716 ! !== horizontal fluxes ==! 729 717 zwx(:,:) = e2u(:,:) * e3u(:,:,jk,Kmm) * pu(:,:,jk) 730 718 zwy(:,:) = e1v(:,:) * e3v(:,:,jk,Kmm) * pv(:,:,jk) … … 801 789 ENDIF 802 790 803 IF( ln_dynvor_msk ) CALL ctl_stop( 'dyn_vor_init: masked vorticity is not currently not available')791 !!an IF( ln_dynvor_msk ) CALL ctl_stop( 'dyn_vor_init: masked vorticity is not currently not available') 804 792 805 793 !!gm this should be removed when choosing a unique strategy for fmask at the coast
Note: See TracChangeset
for help on using the changeset viewer.