- Timestamp:
- 2020-03-13T17:33:02+01:00 (4 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r6486 r12555 105 105 WRITE(numout,*) 'zdf_bfr : Set bottom friction coefficient (non-linear case)' 106 106 WRITE(numout,*) '~~~~~~~~' 107 IF(lflush) CALL flush(numout) 107 108 ENDIF 108 109 ! … … 257 258 READ ( numnam_cfg, nambfr, IOSTAT = ios, ERR = 902 ) 258 259 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambfr in configuration namelist', lwp ) 259 IF(lwm ) WRITE ( numond, nambfr )260 IF(lwm .AND. nprint > 2) WRITE ( numond, nambfr ) 260 261 IF(lwp) WRITE(numout,*) 261 262 IF(lwp) WRITE(numout,*) 'zdf_bfr_init : momentum bottom friction' 262 263 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~' 263 264 IF(lwp) WRITE(numout,*) ' Namelist nam_bfr : set bottom friction parameters' 265 IF(lwp .AND. lflush) CALL flush(numout) 264 266 ! 265 267 SELECT CASE (nn_bfr) … … 399 401 ! 400 402 IF(lwp) WRITE(numout,*) ' implicit bottom friction switch ln_bfrimp = ', ln_bfrimp 403 IF(lwp .AND. lflush) CALL flush(numout) 401 404 ! 402 405 ! ! Make sure ln_zdfexp=.false. when use implicit bfr … … 430 433 WRITE(numout,*) 'BFR ', narea, nimpp+ji, njmpp+jj, ikbu 431 434 WRITE(numout,*) 'BFR ', ABS( bfrcoef2d(ji,jj) ), zfru 435 IF(lflush) CALL flush(numout) 432 436 ENDIF 433 437 ictu = ictu + 1 … … 437 441 WRITE(numout,*) 'BFR ', narea, nimpp+ji, njmpp+jj, ikbv 438 442 WRITE(numout,*) 'BFR ', bfrcoef2d(ji,jj), zfrv 443 IF(lflush) CALL flush(numout) 439 444 ENDIF 440 445 ictv = ictv + 1 … … 452 457 WRITE(numout,*) 'TFR ', narea, nimpp+ji, njmpp+jj, ikbu 453 458 WRITE(numout,*) 'TFR ', ABS( tfrcoef2d(ji,jj) ), zfru 459 IF(lflush) CALL flush(numout) 454 460 ENDIF 455 461 ictu = ictu + 1 … … 459 465 WRITE(numout,*) 'TFR ', narea, nimpp+ji, njmpp+jj, ikbv 460 466 WRITE(numout,*) 'TFR ', tfrcoef2d(ji,jj), zfrv 467 IF(lflush) CALL flush(numout) 461 468 ENDIF 462 469 ictv = ictv + 1 … … 483 490 IF ( ln_isfcav ) WRITE(numout,*) ' Top friction coefficient now ranges from: ', zmintfr, ' to ', zmaxtfr 484 491 WRITE(numout,*) ' Bottom/Top friction coefficient will be reduced where necessary' 492 IF(lflush) CALL flush(numout) 485 493 ENDIF 486 494 ENDIF -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfddm.F90
r6498 r12555 246 246 READ ( numnam_cfg, namzdf_ddm, IOSTAT = ios, ERR = 902 ) 247 247 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ddm in configuration namelist', lwp ) 248 IF(lwm ) WRITE ( numond, namzdf_ddm )248 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_ddm ) 249 249 ! 250 250 IF(lwp) THEN ! Parameter print … … 255 255 WRITE(numout,*) ' maximum avs for dd mixing rn_avts = ', rn_avts 256 256 WRITE(numout,*) ' heat/salt buoyancy flux ratio rn_hsbfr = ', rn_hsbfr 257 IF(lflush) CALL flush(numout) 257 258 ENDIF 258 259 ! -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90
r7061 r12555 69 69 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 70 70 IF(lwp) WRITE(numout,*) 71 IF(lwp .AND. lflush) CALL flush(numout) 71 72 ENDIF 72 73 -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r9583 r12555 881 881 READ ( numnam_cfg, namzdf_gls, IOSTAT = ios, ERR = 902 ) 882 882 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in configuration namelist', lwp ) 883 IF(lwm ) WRITE ( numond, namzdf_gls )883 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_gls ) 884 884 885 885 IF(lwp) THEN !* Control print … … 903 903 WRITE(numout,*) ' Surface roughness (m) rn_hsro = ', rn_hsro 904 904 WRITE(numout,*) ' Bottom roughness (m) (nambfr namelist) rn_bfrz0 = ', rn_bfrz0 905 IF(lflush) CALL flush(numout) 905 906 ENDIF 906 907 … … 990 991 ! 991 992 END SELECT 992 993 ! 994 IF(lwp .AND. lflush) CALL flush(numout) 993 995 ! 994 996 SELECT CASE ( nn_stab_func ) !* set the parameters of the stability functions … … 1066 1068 ! 1067 1069 END SELECT 1068 1070 ! 1071 IF(lwp .AND. lflush) CALL flush(numout) 1069 1072 ! !* Set Schmidt number for psi diffusion in the wave breaking case 1070 1073 ! ! See Eq. (13) of Carniel et al, OM, 30, 225-239, 2009 … … 1118 1121 WRITE(numout,*) 'rl_sf = ',rl_sf 1119 1122 WRITE(numout,*) 1123 IF(lflush) CALL flush(numout) 1120 1124 ENDIF 1121 1125 … … 1194 1198 ELSE 1195 1199 IF(lwp) WRITE(numout,*) ' ===>>>> : previous run without gls scheme, en and mxln computed by iterative loop' 1200 IF(lwp .AND. lflush) CALL flush(numout) 1196 1201 en (:,:,:) = rn_emin 1197 1202 mxln(:,:,:) = 0.05 … … 1204 1209 ELSE !* Start from rest 1205 1210 IF(lwp) WRITE(numout,*) ' ===>>>> : Initialisation of en and mxln by background values' 1211 IF(lwp .AND. lflush) CALL flush(numout) 1206 1212 en (:,:,:) = rn_emin 1207 1213 mxln(:,:,:) = 0.05 … … 1211 1217 ! ! ------------------- 1212 1218 IF(lwp) WRITE(numout,*) '---- gls-rst ----' 1219 IF(lwp .AND. lflush) CALL flush(numout) 1213 1220 IF(nn_timing == 2) CALL timing_start('iom_rstput') 1214 1221 CALL iom_rstput( kt, nitrst, numrow, 'en' , en ) -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfini.F90
r6486 r12555 64 64 READ ( numnam_cfg, namzdf, IOSTAT = ios, ERR = 902 ) 65 65 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in configuration namelist', lwp ) 66 IF(lwm ) WRITE ( numond, namzdf )66 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf ) 67 67 68 68 IF(lwp) THEN !* Parameter print … … 83 83 WRITE(numout,*) ' npc call frequency nn_npc = ', nn_npc 84 84 WRITE(numout,*) ' npc print frequency nn_npcp = ', nn_npcp 85 IF(lflush) CALL flush(numout) 85 86 ENDIF 86 87 … … 154 155 CALL ctl_stop( ' except for TKE, GLS or KPP physics, a convection scheme is', & 155 156 & ' required: ln_zdfevd or ln_zdfnpc logicals' ) 156 157 ! 158 IF(lwp .AND. lflush) CALL flush(numout) 157 159 ! !* Background eddy viscosity and diffusivity profil 158 160 IF( nn_avb == 0 ) THEN ! Define avmb, avtb from namelist parameter -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90
r9583 r12555 1214 1214 IF(lwp) WRITE(numout,*) 'tra_kpp : KPP non-local tracer fluxes' 1215 1215 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 1216 IF(lflush) CALL flush(numout) 1216 1217 ENDIF 1217 1218 … … 1286 1287 IF(lwp) WRITE(numout,*) 'trc_kpp : KPP non-local tracer fluxes' 1287 1288 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 1289 IF(lflush) CALL flush(numout) 1288 1290 ENDIF 1289 1291 … … 1369 1371 READ ( numnam_cfg, namzdf_kpp, IOSTAT = ios, ERR = 902 ) 1370 1372 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_kpp in configuration namelist', lwp ) 1371 IF(lwm ) WRITE ( numond, namzdf_kpp )1373 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_kpp ) 1372 1374 1373 1375 IF(lwp) THEN ! Control print … … 1384 1386 WRITE(numout,*) ' max. mix. in interior convec. rn_difcon = ', rn_difcon 1385 1387 WRITE(numout,*) ' horizontal average flag nn_ave = ', nn_ave 1388 IF(lflush) CALL flush(numout) 1386 1389 ENDIF 1387 1390 … … 1410 1413 ENDIF 1411 1414 ENDIF 1415 1416 IF(lwp .AND. lflush) CALL flush(numout) 1412 1417 1413 1418 … … 1421 1426 WRITE(numout,*) ' Constant value for unreso. turbul. velocity shear Vtc = ', Vtc 1422 1427 WRITE(numout,*) ' Non-dimensional coef. for nonlocal transport rcg = ', rcg 1428 IF(lflush) CALL flush(numout) 1423 1429 ENDIF 1424 1430 … … 1438 1444 IF(lwp) WRITE(numout,*) ' no horizontal average on avt, avmu, avmv' 1439 1445 IF(lwp) WRITE(numout,*) ' only in very high horizontal resolution !' 1446 IF(lwp .AND. lflush) CALL flush(numout) 1440 1447 ! weighting mean arrays etmean, eumean and evmean 1441 1448 ! ( 1 1 ) ( 1 ) … … 1464 1471 CASE ( 1 ) ! horizontal average 1465 1472 IF(lwp) WRITE(numout,*) ' horizontal average on avt, avmu, avmv' 1473 IF(lwp .AND. lflush) CALL flush(numout) 1466 1474 ! weighting mean arrays etmean, eumean and evmean 1467 1475 ! ( 1/2 1 1/2 ) ( 1/2 1/2 ) ( 1/2 1 1/2 ) -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90
r7560 r12555 108 108 IF(lwp) WRITE(numout,*) 'zdf_mxl : mixed layer depth' 109 109 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 110 IF(lflush) CALL flush(numout) 110 111 ! ! allocate zdfmxl arrays 111 112 IF( zdf_mxl_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'zdf_mxl : unable to allocate arrays' ) … … 396 397 END DO 397 398 END DO 398 WRITE(numout,*) 'zthick_0(jk =',jk,') =',zthick_0(2,2) 399 WRITE(numout,*) 'fsdepw(jk+1 =',jk+1,') =',fsdepw(2,2,jk+1) 399 IF(lwp) THEN 400 WRITE(numout,*) 'zthick_0(jk =',jk,') =',zthick_0(2,2) 401 WRITE(numout,*) 'fsdepw(jk+1 =',jk+1,') =',fsdepw(2,2,jk+1) 402 ENDIF 400 403 END DO 404 405 IF(lflush) CALL flush(numout) 401 406 402 407 ! Surface boundary condition … … 429 434 END DO 430 435 431 WRITE(numout,*) 'htc_mld(after) =',htc_mld(2,2) 436 IF(lwp) WRITE(numout,*) 'htc_mld(after) =',htc_mld(2,2) 437 IF(lwp .AND. lflush) CALL flush(numout) 432 438 433 439 ! Convert to heat content … … 470 476 READ ( numnam_cfg, namzdf_mldzint, IOSTAT = ios, ERR = 902 ) 471 477 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_mldzint in configuration namelist', lwp ) 472 IF(lwm ) WRITE ( numond, namzdf_mldzint )478 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_mldzint ) 473 479 474 480 IF( nn_mld_diag > 5 ) CALL ctl_stop( 'STOP', 'zdf_mxl_ini: Specify no more than 5 MLD definitions' ) … … 491 497 END DO 492 498 WRITE(numout,*) '====================================================================' 499 IF(lflush) CALL flush(numout) 493 500 ENDIF 494 501 ENDIF -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90
r9583 r12555 260 260 READ ( numnam_cfg, namzdf_ric, IOSTAT = ios, ERR = 902 ) 261 261 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in configuration namelist', lwp ) 262 IF(lwm ) WRITE ( numond, namzdf_ric )262 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_ric ) 263 263 ! 264 264 IF(lwp) THEN ! Control print … … 276 276 WRITE(numout,*) ' Vertical eddy Visc. in the ML rn_wvmix = ', rn_wvmix 277 277 WRITE(numout,*) ' Use the MLD parameterization ln_mldw = ', ln_mldw 278 IF(lflush) CALL flush(numout) 278 279 ENDIF 279 280 ! -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r9321 r12555 786 786 READ ( numnam_cfg, namzdf_tke, IOSTAT = ios, ERR = 902 ) 787 787 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist', lwp ) 788 IF(lwm ) WRITE ( numond, namzdf_tke )788 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_tke ) 789 789 ! 790 790 ri_cri = 2._wp / ( 2._wp + rn_ediss / rn_ediff ) ! resulting critical Richardson number … … 797 797 WRITE(numout,*) 'zdf_tke_init : New tidal mixing case: force rn_emin = 1.e-10 and rmxl_min = 1.e-3 ' 798 798 WRITE(numout,*) '~~~~~~~~~~~~' 799 IF(lflush) CALL flush(numout) 799 800 ENDIF 800 801 # else … … 825 826 WRITE(numout,*) 826 827 WRITE(numout,*) ' critical Richardson nb with your parameters ri_cri = ', ri_cri 828 IF(lflush) CALL flush(numout) 827 829 ENDIF 828 830 ! … … 838 840 IF( ln_mxl0 ) THEN 839 841 IF(lwp) WRITE(numout,*) ' use a surface mixing length = F(stress) : set rn_mxl0 = rmxl_min' 842 IF(lwp .AND. lflush) CALL flush(numout) 840 843 rn_mxl0 = rmxl_min 841 844 ENDIF … … 949 952 ELSE ! No TKE array found: initialisation 950 953 IF(lwp) WRITE(numout,*) ' ===>>>> : previous run without tke scheme, en computed by iterative loop' 954 IF(lwp .AND. lflush) CALL flush(numout) 951 955 en (:,:,:) = rn_emin * tmask(:,:,:) 952 956 CALL tke_avn ! recompute avt, avm, avmu, avmv and dissl (approximation) … … 971 975 ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN ! Create restart file 972 976 ! ! ------------------- 973 IF(lwp) WRITE(numout,*) '---- tke-rst ----' 977 IF(lwp .AND. nprint > 0) THEN 978 WRITE(numout,*) '---- tke-rst ----' 979 IF(lflush) CALL flush(numout) 980 ENDIF 974 981 IF(nn_timing == 2) CALL timing_start('iom_rstput') 975 982 CALL iom_rstput( kt, nitrst, numrow, 'en' , en ) -
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90
r7179 r12555 156 156 IF(lwp) WRITE(numout,*) 157 157 IF(lwp) WRITE(numout,*) ' N Total power consumption by av_tide : ztpc = ', ztpc * 1.e-12 ,'TW' 158 IF(lwp .AND. lflush) CALL flush(numout) 158 159 ENDIF 159 160 … … 310 311 ztpc= rau0 * ztpc / ( rn_me * rn_tfe_itf ) 311 312 IF(lwp) WRITE(numout,*) ' N Total power consumption by zavt_itf: ztpc = ', ztpc * 1.e-12 ,'TW' 313 IF(lwp .AND. lflush) CALL flush(numout) 312 314 ENDIF 313 315 … … 388 390 READ ( numnam_cfg, namzdf_tmx, IOSTAT = ios, ERR = 902 ) 389 391 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 390 IF(lwm ) WRITE ( numond, namzdf_tmx )392 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_tmx ) 391 393 392 394 IF(lwp) THEN ! Control print … … 401 403 WRITE(numout,*) ' ITF specific parameterisation = ', ln_tmx_itf 402 404 WRITE(numout,*) ' ITF tidal dissipation efficiency = ', rn_tfe_itf 405 IF(lflush) CALL flush(numout) 403 406 ENDIF 404 407 … … 446 449 !=========== 447 450 448 IF( nprint == 1.AND. lwp ) THEN451 IF( nprint > 2 .AND. lwp ) THEN 449 452 ! Control print 450 453 ! Total power consumption due to vertical mixing … … 468 471 WRITE(numout,*) 469 472 WRITE(numout,*) ' Total power consumption of the tidally driven part of Kz : ztpc = ', ztpc * 1.e-12 ,'TW' 473 IF(lflush) CALL flush(numout) 470 474 471 475 … … 497 501 END DO 498 502 WRITE(numout,*) ' Min de zkz ', ztpc, ' Max = ', maxval(zkz(:,:) ) 503 IF(lflush) CALL flush(numout) 499 504 500 505 DO jk = 2, jpkm1 … … 516 521 ztpc= rau0 * 1/(rn_tfe * rn_me) * ztpc 517 522 WRITE(numout,*) ' 2 Total power consumption of the tidally driven part of Kz : ztpc = ', ztpc * 1.e-12 ,'TW' 523 IF(lflush) CALL flush(numout) 518 524 519 525 DO jk = 1, jpk … … 528 534 WRITE(numout,*) ' N2 min - jk= ', jk,' ', ze_z * 1.e4,' cm2/s min= ',ztpc*1.e4, & 529 535 & 'max= ', MAXVAL(zav_tide(:,:,jk) )*1.e4, ' cm2/s' 536 IF(lflush) CALL flush(numout) 530 537 END DO 531 538 … … 533 540 WRITE(numout,*) 534 541 WRITE(numout,*) ' Initial profile of tidal vertical mixing' 542 IF(lflush) CALL flush(numout) 543 535 544 DO jk = 1, jpk 536 545 DO jj = 1,jpj … … 543 552 WRITE(numout,*) ' jk= ', jk,' ', ze_z * 1.e4,' cm2/s' 544 553 END DO 554 IF(lflush) CALL flush(numout) 545 555 DO jk = 1, jpk 546 556 zkz(:,:) = az_tmx(:,:,jk) /rn_n2min … … 551 561 & 'max= ', MAXVAL(zkz)*1.e4, ' cm2/s' 552 562 END DO 563 IF(lflush) CALL flush(numout) 553 564 ! 554 565 ENDIF … … 862 873 WRITE(numout,*) 863 874 WRITE(numout,*) ' Total power consumption by av_wave: ztpc = ', ztpc * 1.e-12_wp, 'TW' 875 IF(lflush) CALL flush(numout) 864 876 ENDIF 865 877 ENDIF … … 973 985 READ ( numnam_cfg, namzdf_tmx_new, IOSTAT = ios, ERR = 902 ) 974 986 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 975 IF(lwm ) WRITE ( numond, namzdf_tmx_new )987 IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_tmx_new ) 976 988 ! 977 989 IF(lwp) THEN ! Control print … … 983 995 WRITE(numout,*) ' Variable (T) or constant (F) mixing efficiency = ', ln_mevar 984 996 WRITE(numout,*) ' Differential internal wave-driven mixing (T) or not (F) = ', ln_tsdiff 997 IF(lflush) CALL flush(numout) 985 998 ENDIF 986 999 … … 995 1008 WRITE(numout,*) ' Force the background value applied to avm & avt in TKE to be everywhere ', & 996 1009 & 'the viscous molecular value & a very small diffusive value, resp.' 1010 IF(lflush) CALL flush(numout) 997 1011 ENDIF 998 1012 … … 1042 1056 WRITE(numout,*) ' Pycnocline-intensifed wave-breaking energy: ', zpyc * 1.e-12_wp, 'TW' 1043 1057 WRITE(numout,*) ' Critical slope wave-breaking energy: ', zcri * 1.e-12_wp, 'TW' 1058 IF(lflush) CALL flush(numout) 1044 1059 ENDIF 1045 1060 !
Note: See TracChangeset
for help on using the changeset viewer.