Changeset 9462
- Timestamp:
- 2018-04-06T17:48:30+02:00 (7 years ago)
- Location:
- branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r7600 r9462 1067 1067 1068 1068 ! Write all fields on T grid 1069 IF( ln_wave .AND. ln_sdw ) THEN 1070 CALL histwrite( id_i, "sdzocrtx", kt, usd , jpi*jpj*jpk, idex) ! now StokesDrift i-velocity 1071 CALL histwrite( id_i, "sdmecrty", kt, vsd , jpi*jpj*jpk, idex) ! now StokesDrift j-velocity 1072 CALL histwrite( id_i, "sdvecrtz", kt, wsd , jpi*jpj*jpk, idex) ! now StokesDrift k-velocity 1073 ENDIF 1069 1074 CALL histwrite( id_i, "votemper", kt, tsn(:,:,:,jp_tem), jpi*jpj*jpk, idex ) ! now temperature 1070 1075 CALL histwrite( id_i, "vosaline", kt, tsn(:,:,:,jp_sal), jpi*jpj*jpk, idex ) ! now salinity … … 1083 1088 CALL histwrite( id_i, "vovvle3t", kt, fse3t_n (:,:,:), jpi*jpj*jpk, idex )! T-cell thickness 1084 1089 END IF 1085 1086 IF( ln_wave .AND. ln_sdw ) THEN1087 CALL histwrite( id_i, "sdzocrtx", kt, usd , jpi*jpj*jpk, idex) ! now StokesDrift i-velocity1088 CALL histwrite( id_i, "sdmecrty", kt, vsd , jpi*jpj*jpk, idex) ! now StokesDrift j-velocity1089 CALL histwrite( id_i, "sdvecrtz", kt, wsd , jpi*jpj*jpk, idex) ! now StokesDrift k-velocity1090 ENDIF1091 1090 1092 1091 ! 3. Close the file -
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r7606 r9462 467 467 & + fwfisf(:,:) + fwfisf_b(:,:) ) 468 468 ENDIF 469 ! 469 ! !* Fill boundary data arrays for AGRIF 470 ! ! ------------------------------------ 471 #if defined key_agrif 472 IF( .NOT.Agrif_Root() ) CALL agrif_dta_ts( kt ) 473 #endif 474 ! 475 ! ----------------------------------------------------------------------- 476 ! Phase 2 : Integration of the barotropic equations 477 ! ----------------------------------------------------------------------- 478 ! 479 ! Moved here to allow merging with other branch 470 480 IF( ln_sdw ) THEN ! Stokes drift divergence added if necessary 471 481 zssh_frc(:,:) = zssh_frc(:,:) + div_sd(:,:) … … 478 488 ENDIF 479 489 #endif 480 ! !* Fill boundary data arrays for AGRIF481 ! ! ------------------------------------482 #if defined key_agrif483 IF( .NOT.Agrif_Root() ) CALL agrif_dta_ts( kt )484 #endif485 !486 ! -----------------------------------------------------------------------487 ! Phase 2 : Integration of the barotropic equations488 ! -----------------------------------------------------------------------489 !490 490 ! ! ==================== ! 491 491 ! ! Initialisations ! -
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r8115 r9462 335 335 ! --------------------------------- 336 336 ! 337 SELECT CASE ( nn_bc_surf )338 !339 CASE ( 0 ) ! Dirichlet case340 IF( ln_phioc ) THEN ! wave induced mixing case with forced/coupled fields337 IF( ln_phioc ) THEN 338 SELECT CASE ( nn_bc_surf ) 339 ! 340 CASE ( 0 ) ! Dirichlet case 341 341 IF( nn_wmix==jp_janssen ) THEN 342 342 ! First level … … 367 367 ! 368 368 ENDIF 369 ELSE ! wave induced mixing case with default values 370 en(:,:,1) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default)**(2._wp/3._wp) 371 en(:,:,1) = MAX(en(:,:,1), rn_emin) 372 z_elem_a(:,:,1) = en(:,:,1) 373 z_elem_c(:,:,1) = 0._wp 374 z_elem_b(:,:,1) = 1._wp 375 ! 376 ! One level below 377 en(:,:,2) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default * ((zhsro(:,:)+fsdepw(:,:,2)) & 378 & / zhsro(:,:) )**(1.5_wp*ra_sf))**(2._wp/3._wp) 379 en(:,:,2) = MAX(en(:,:,2), rn_emin ) 380 z_elem_a(:,:,2) = 0._wp 381 z_elem_c(:,:,2) = 0._wp 382 z_elem_b(:,:,2) = 1._wp 383 ! 384 ! 385 ENDIF 386 CASE ( 1 ) ! Neumann boundary condition on d(e)/dz 387 IF( ln_phioc ) THEN ! Shear free case: d(e)/dz=Fw with forced/coupled fields 369 CASE ( 1 ) ! Neumann boundary condition on d(e)/dz 388 370 IF( nn_wmix==jp_janssen ) THEN 389 371 ! Dirichlet conditions at k=1 … … 416 398 ! 417 399 ENDIF 418 ELSE ! Shear free case: d(e)/dz=Fw with default values 419 ! Dirichlet conditions at k=1 420 en(:,:,1) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default)**(2._wp/3._wp) 421 en(:,:,1) = MAX(en(:,:,1), rn_emin) 422 z_elem_a(:,:,1) = en(:,:,1) 423 z_elem_c(:,:,1) = 0._wp 424 z_elem_b(:,:,1) = 1._wp 425 ! 426 ! at k=2, set de/dz=Fw 427 !cbr 428 z_elem_b(:,:,2) = z_elem_b(:,:,2) + z_elem_a(:,:,2) ! Remove z_elem_a from z_elem_b 429 z_elem_a(:,:,2) = 0._wp 430 zkar(:,:) = (rl_sf + (vkarmn-rl_sf)*(1.-exp(-rtrans_default*fsdept(:,:,1)/zhsro(:,:)) )) 431 zflxs(:,:) = rsbc_tke2 * ustars2(:,:)**1.5_wp * zkar(:,:) & 432 & * ((zhsro(:,:)+fsdept(:,:,1))/zhsro(:,:) )**(1.5_wp*ra_sf) 433 434 en(:,:,2) = en(:,:,2) + zflxs(:,:)/fse3w(:,:,2) 435 ! 436 ! 437 ENDIF 400 END SELECT 401 ELSE 402 SELECT CASE ( nn_bc_surf ) 403 ! 404 CASE ( 0 ) ! Dirichlet case 405 ! First level 406 en(:,:,1) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default)**(2._wp/3._wp) 407 en(:,:,1) = MAX(en(:,:,1), rn_emin) 408 z_elem_a(:,:,1) = en(:,:,1) 409 z_elem_c(:,:,1) = 0._wp 410 z_elem_b(:,:,1) = 1._wp 411 ! 412 ! One level below 413 en(:,:,2) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default * ((zhsro(:,:)+fsdepw(:,:,2)) & 414 & / zhsro(:,:) )**(1.5_wp*ra_sf))**(2._wp/3._wp) 415 en(:,:,2) = MAX(en(:,:,2), rn_emin ) 416 z_elem_a(:,:,2) = 0._wp 417 z_elem_c(:,:,2) = 0._wp 418 z_elem_b(:,:,2) = 1._wp 419 ! 420 ! 421 CASE ( 1 ) ! Neumann boundary condition on d(e)/dz 422 ! Dirichlet conditions at k=1 423 en(:,:,1) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default)**(2._wp/3._wp) 424 en(:,:,1) = MAX(en(:,:,1), rn_emin) 425 z_elem_a(:,:,1) = en(:,:,1) 426 z_elem_c(:,:,1) = 0._wp 427 z_elem_b(:,:,1) = 1._wp 428 ! 429 ! at k=2, set de/dz=Fw 430 !cbr 431 z_elem_b(:,:,2) = z_elem_b(:,:,2) + z_elem_a(:,:,2) ! Remove z_elem_a from z_elem_b 432 z_elem_a(:,:,2) = 0._wp 433 zkar(:,:) = (rl_sf + (vkarmn-rl_sf)*(1.-exp(-rtrans_default*fsdept(:,:,1)/zhsro(:,:)) )) 434 zflxs(:,:) = rsbc_tke2 * ustars2(:,:)**1.5_wp * zkar(:,:) & 435 & * ((zhsro(:,:)+fsdept(:,:,1))/zhsro(:,:) )**(1.5_wp*ra_sf) 436 437 en(:,:,2) = en(:,:,2) + zflxs(:,:)/fse3w(:,:,2) 438 ! 439 ! 438 440 END SELECT 441 ENDIF ! ln_phioc 439 442 440 443 ! Bottom boundary condition on tke
Note: See TracChangeset
for help on using the changeset viewer.