- Timestamp:
- 2011-10-21T14:29:39+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcsub.F90
r2944 r2971 22 22 USE zdfgls, ONLY: en 23 23 #endif 24 USE trabbl 24 25 USE zdf_oce 25 26 USE domvvl … … 67 68 !!------------------------------------------------------------------- 68 69 69 IF (kt == nit000) THEN70 IF( kt == nit000 ) THEN 70 71 IF(lwp) WRITE(numout,*) 71 72 IF(lwp) WRITE(numout,*) 'trc_sub_stp : substepping of the passive tracers' … … 86 87 un_tm (:,:,:) = un_tm (:,:,:) + un (:,:,:) * fse3u(:,:,:) 87 88 vn_tm (:,:,:) = vn_tm (:,:,:) + vn (:,:,:) * fse3v(:,:,:) 88 wn_tm (:,:,:) = wn_tm (:,:,:) + wn (:,:,:) * fse3w(:,:,:)89 89 tsn_tm (:,:,:,jp_tem) = tsn_tm (:,:,:,jp_tem) + tsn (:,:,:,jp_tem) * fse3t(:,:,:) 90 90 tsn_tm (:,:,:,jp_sal) = tsn_tm (:,:,:,jp_sal) + tsn (:,:,:,jp_sal) * fse3t(:,:,:) … … 99 99 vslp_tm (:,:,:) = vslp_tm (:,:,:) + vslp (:,:,:) * fse3v(:,:,:) 100 100 #endif 101 # if defined key_trabbl 102 IF( nn_bbl_ldf == 1 ) THEN 103 ahu_bbl_tm(:,:) = ahu_bbl_tm(:,:) + ahu_bbl(:,:) 104 ahv_bbl_tm(:,:) = ahv_bbl_tm(:,:) + ahv_bbl(:,:) 105 ENDIF 106 IF( nn_bbl_adv == 1 ) THEN 107 utr_bbl_tm(:,:) = utr_bbl_tm(:,:) + utr_bbl(:,:) 108 vtr_bbl_tm(:,:) = vtr_bbl_tm(:,:) + vtr_bbl(:,:) 109 ENDIF 110 # endif 101 111 ! 102 112 sshn_tm (:,:) = sshn_tm (:,:) + sshn (:,:) … … 169 179 vslp_temp (:,:,:) = vslp (:,:,:) 170 180 #endif 181 # if defined key_trabbl 182 IF( nn_bbl_ldf == 1 ) THEN 183 ahu_bbl_temp(:,:) = ahu_bbl(:,:) 184 ahv_bbl_temp(:,:) = ahv_bbl(:,:) 185 ENDIF 186 IF( nn_bbl_adv == 1 ) THEN 187 utr_bbl_temp(:,:) = utr_bbl(:,:) 188 vtr_bbl_temp(:,:) = vtr_bbl(:,:) 189 ENDIF 190 # endif 171 191 sshn_temp (:,:) = sshn (:,:) 172 192 sshu_n_temp(:,:) = sshu_n(:,:) … … 229 249 # endif 230 250 #endif 231 ! Variables reset in trc_sub_ssh251 ! ! Variables reset in trc_sub_ssh 232 252 rotn_temp (:,:,:) = rotn (:,:,:) 233 253 hdivn_temp (:,:,:) = hdivn (:,:,:) … … 258 278 un_tm (:,:,:) = un_tm (:,:,:) + un (:,:,:) * e3u_temp(:,:,:) 259 279 vn_tm (:,:,:) = vn_tm (:,:,:) + vn (:,:,:) * e3v_temp(:,:,:) 260 wn_tm (:,:,:) = wn_tm (:,:,:) + wn (:,:,:) * e3w_temp(:,:,:)261 280 tsn_tm (:,:,:,jp_tem) = tsn_tm (:,:,:,jp_tem) + tsn (:,:,:,jp_tem) * e3t_temp(:,:,:) 262 281 tsn_tm (:,:,:,jp_sal) = tsn_tm (:,:,:,jp_sal) + tsn (:,:,:,jp_sal) * e3t_temp(:,:,:) … … 271 290 vslp_tm (:,:,:) = vslp_tm (:,:,:) + vslp (:,:,:) * e3v_temp(:,:,:) 272 291 #endif 292 # if defined key_trabbl 293 IF( nn_bbl_ldf == 1 ) THEN 294 ahu_bbl_tm(:,:) = ahu_bbl_tm(:,:) + ahu_bbl(:,:) 295 ahv_bbl_tm(:,:) = ahv_bbl_tm(:,:) + ahv_bbl(:,:) 296 ENDIF 297 IF( nn_bbl_adv == 1 ) THEN 298 utr_bbl_tm(:,:) = utr_bbl_tm(:,:) + utr_bbl(:,:) 299 vtr_bbl_tm(:,:) = vtr_bbl_tm(:,:) + vtr_bbl(:,:) 300 ENDIF 301 # endif 273 302 sshn_tm (:,:) = sshn_tm (:,:) + sshn (:,:) 274 303 sshu_n_tm(:,:) = sshu_n_tm (:,:) + sshu_n(:,:) … … 300 329 emps (:,:) = emps_tm (:,:) * r1_ndttrc 301 330 fr_i (:,:) = fr_i_tm (:,:) * r1_ndttrc 331 # if defined key_trabbl 332 IF( nn_bbl_ldf == 1 ) THEN 333 ahu_bbl(:,:) = ahu_bbl_tm (:,:) * r1_ndttrc 334 ahv_bbl(:,:) = ahv_bbl_tm (:,:) * r1_ndttrc 335 ENDIF 336 IF( nn_bbl_adv == 1 ) THEN 337 utr_bbl(:,:) = utr_bbl_tm (:,:) * r1_ndttrc 338 vtr_bbl(:,:) = vtr_bbl_tm (:,:) * r1_ndttrc 339 ENDIF 340 # endif 302 341 ELSE 303 342 wndm (:,:) = wndm_tm (:,:) * r1_ndttrcp1 … … 306 345 emps (:,:) = emps_tm (:,:) * r1_ndttrcp1 307 346 fr_i (:,:) = fr_i_tm (:,:) * r1_ndttrcp1 347 # if defined key_trabbl 348 IF( nn_bbl_ldf == 1 ) THEN 349 ahu_bbl(:,:) = ahu_bbl_tm (:,:) * r1_ndttrcp1 350 ahv_bbl(:,:) = ahv_bbl_tm (:,:) * r1_ndttrcp1 351 ENDIF 352 IF( nn_bbl_adv == 1 ) THEN 353 utr_bbl(:,:) = utr_bbl_tm (:,:) * r1_ndttrcp1 354 vtr_bbl(:,:) = vtr_bbl_tm (:,:) * r1_ndttrcp1 355 ENDIF 356 # endif 308 357 ENDIF 309 358 ! … … 318 367 un (ji,jj,jk) = un_tm (ji,jj,jk) * z1_ne3u 319 368 vn (ji,jj,jk) = vn_tm (ji,jj,jk) * z1_ne3v 320 wn (ji,jj,jk) = wn_tm (ji,jj,jk) * z1_ne3w321 369 tsn (ji,jj,jk,jp_tem) = tsn_tm (ji,jj,jk,jp_tem) * z1_ne3t 322 370 tsn (ji,jj,jk,jp_sal) = tsn_tm (ji,jj,jk,jp_sal) * z1_ne3t … … 413 461 #endif 414 462 415 CALL lbc_lnk( un (:,:,:) , 'U', 1. ) 416 CALL lbc_lnk( vn (:,:,:) , 'V', 1. ) 417 CALL lbc_lnk( wn (:,:,:) , 'V', 1. ) 463 CALL lbc_lnk( un (:,:,:) , 'U',-1. ) 464 CALL lbc_lnk( vn (:,:,:) , 'V',-1. ) 418 465 CALL lbc_lnk( tsn (:,:,:,jp_tem), 'T', 1. ) 419 466 CALL lbc_lnk( tsn (:,:,:,jp_sal), 'T', 1. ) … … 423 470 # endif 424 471 #if defined key_ldfslp 425 CALL lbc_lnk( uslp (:,:,:) , 'U', 426 CALL lbc_lnk( vslp (:,:,:) , 'V', 427 CALL lbc_lnk( wslpi (:,:,:) , 'W', 428 CALL lbc_lnk( wslpj (:,:,:) , 'W', 472 CALL lbc_lnk( uslp (:,:,:) , 'U',-1. ) 473 CALL lbc_lnk( vslp (:,:,:) , 'V',-1. ) 474 CALL lbc_lnk( wslpi (:,:,:) , 'W',-1. ) 475 CALL lbc_lnk( wslpj (:,:,:) , 'W',-1. ) 429 476 #endif 430 477 CALL lbc_lnk( sshn (:,:) , 'T', 1. ) … … 447 494 CALL lbc_lnk( qsr (:,:) , 'T', 1. ) 448 495 CALL lbc_lnk( wndm (:,:) , 'T', 1. ) 496 # if defined key_trabbl 497 IF( nn_bbl_ldf == 1 ) THEN 498 CALL lbc_lnk( ahu_bbl(:,:) , 'U', 1. ) 499 CALL lbc_lnk( ahv_bbl(:,:) , 'v', 1. ) 500 ENDIF 501 IF( nn_bbl_adv == 1 ) THEN 502 CALL lbc_lnk( utr_bbl(:,:) , 'U', 1. ) 503 CALL lbc_lnk( vtr_bbl(:,:) , 'U', 1. ) 504 ENDIF 505 # endif 449 506 #if defined key_traldf_c3d 450 507 CALL lbc_lnk( ahtt (:,:,:) , 'T', 1. ) … … 472 529 CALL trc_sub_ssh( kt ) ! after ssh & vertical velocity 473 530 ! 531 CALL lbc_lnk( wn (:,:,:) , 'W',-1. ) 474 532 CALL lbc_lnk( rotn (:,:,:) , 'F', 1. ) 475 533 CALL lbc_lnk( hdivn (:,:,:) , 'T', 1. ) … … 507 565 un_tm (:,:,:) = un (:,:,:) * fse3u(:,:,:) 508 566 vn_tm (:,:,:) = vn (:,:,:) * fse3v(:,:,:) 509 wn_tm (:,:,:) = wn (:,:,:) * fse3w(:,:,:)510 567 tsn_tm (:,:,:,jp_tem) = tsn (:,:,:,jp_tem) * fse3t(:,:,:) 511 568 tsn_tm (:,:,:,jp_sal) = tsn (:,:,:,jp_sal) * fse3t(:,:,:) … … 528 585 529 586 ! Physics variables that are set after initialization: 530 fr_i_tm(:,:) = 0. 531 emp_tm (:,:) = 0. 532 emps_tm(:,:) = 0. 533 qsr_tm (:,:) = 0. 534 wndm_tm(:,:) = 0. 587 fr_i_tm(:,:) = 0._wp 588 emp_tm (:,:) = 0._wp 589 emps_tm(:,:) = 0._wp 590 qsr_tm (:,:) = 0._wp 591 wndm_tm(:,:) = 0._wp 592 # if defined key_trabbl 593 IF( nn_bbl_ldf == 1 ) THEN 594 ahu_bbl_tm(:,:) = 0._wp 595 ahv_bbl_tm(:,:) = 0._wp 596 ENDIF 597 IF( nn_bbl_adv == 1 ) THEN 598 utr_bbl_tm(:,:) = 0._wp 599 vtr_bbl_tm(:,:) = 0._wp 600 ENDIF 601 # endif 535 602 ! 536 603 #if defined key_traldf_c3d … … 626 693 qsr (:,:) = qsr_temp (:,:) 627 694 wndm (:,:) = wndm_temp (:,:) 695 # if defined key_trabbl 696 IF( nn_bbl_ldf == 1 ) THEN 697 ahu_bbl(:,:) = ahu_bbl_temp(:,:) 698 ahv_bbl(:,:) = ahv_bbl_temp(:,:) 699 ENDIF 700 IF( nn_bbl_adv == 1 ) THEN 701 utr_bbl(:,:) = utr_bbl_temp(:,:) 702 vtr_bbl(:,:) = vtr_bbl_temp(:,:) 703 ENDIF 704 # endif 628 705 ! 629 706 #if defined key_traldf_c3d … … 703 780 704 781 ! Start new averages 705 ! DO jk = 1, jpk706 782 un_tm (:,:,:) = un (:,:,:) * fse3u(:,:,:) 707 783 vn_tm (:,:,:) = vn (:,:,:) * fse3v(:,:,:) 708 wn_tm (:,:,:) = wn (:,:,:) * fse3w(:,:,:)709 784 tsn_tm (:,:,:,jp_tem) = tsn (:,:,:,jp_tem) * fse3t(:,:,:) 710 785 tsn_tm (:,:,:,jp_sal) = tsn (:,:,:,jp_sal) * fse3t(:,:,:) … … 719 794 vslp_tm (:,:,:) = vslp (:,:,:) * fse3v(:,:,:) 720 795 #endif 721 ! END DO722 796 ! 723 797 sshb_hold (:,:) = sshn (:,:) … … 736 810 qsr_tm (:,:) = qsr (:,:) 737 811 wndm_tm (:,:) = wndm (:,:) 812 # if defined key_trabbl 813 IF( nn_bbl_ldf == 1 ) THEN 814 ahu_bbl_tm(:,:) = ahu_bbl(:,:) 815 ahv_bbl_tm(:,:) = ahv_bbl(:,:) 816 ENDIF 817 IF( nn_bbl_adv == 1 ) THEN 818 utr_bbl_tm(:,:) = utr_bbl(:,:) 819 vtr_bbl_tm(:,:) = vtr_bbl(:,:) 820 ENDIF 821 # endif 738 822 ! 739 823 #if defined key_traldf_c3d … … 945 1029 & uslp_temp(jpi,jpj,jpk) , vslp_temp(jpi,jpj,jpk), & 946 1030 #endif 1031 #if defined key_trabbl 1032 & ahu_bbl_temp(jpi,jpj) , ahv_bbl_temp(jpi,jpj), & 1033 & utr_bbl_temp(jpi,jpj) , vtr_bbl_temp(jpi,jpj), & 1034 #endif 947 1035 & rnf_temp(jpi,jpj) , h_rnf_temp(jpi,jpj) , & 948 & tsn_temp(jpi,jpj,jpk,2) , 1036 & tsn_temp(jpi,jpj,jpk,2) , emp_b_temp(jpi,jpj), & 949 1037 & emp_temp(jpi,jpj) , emps_temp(jpi,jpj) , & 950 1038 & hmld_temp(jpi,jpj) , qsr_temp(jpi,jpj) , & … … 990 1078 & hur_temp(jpi,jpj) , hvr_temp(jpi,jpj), & 991 1079 & un_tm(jpi,jpj,jpk) , vn_tm(jpi,jpj,jpk) , & 992 & wn_tm(jpi,jpj,jpk) , avt_tm(jpi,jpj,jpk), &1080 & avt_tm(jpi,jpj,jpk) , & 993 1081 & sshn_tm(jpi,jpj) , sshb_hold(jpi,jpj) , & 994 1082 & sshu_n_tm(jpi,jpj) , sshu_b_hold(jpi,jpj), & … … 1001 1089 & wslpi_tm(jpi,jpj,jpk) , wslpj_tm(jpi,jpj,jpk), & 1002 1090 & uslp_tm(jpi,jpj,jpk) , vslp_tm(jpi,jpj,jpk), & 1091 #endif 1092 #if defined key_trabbl 1093 & ahu_bbl_tm(jpi,jpj) , ahv_bbl_tm(jpi,jpj), & 1094 & utr_bbl_tm(jpi,jpj) , vtr_bbl_tm(jpi,jpj), & 1003 1095 #endif 1004 1096 & rnf_tm(jpi,jpj) , h_rnf_tm(jpi,jpj) , &
Note: See TracChangeset
for help on using the changeset viewer.