Changeset 1382 for palm/trunk/SOURCE
- Timestamp:
- Apr 30, 2014 12:15:41 PM (11 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/flow_statistics.f90
r1375 r1382 21 21 ! Current revisions: 22 22 ! ----------------- 23 ! 23 ! Renamed variables which store large scale forcing tendencies 24 ! pt_lsa -> td_lsa_lpt, pt_subs -> td_sub_lpt, 25 ! q_lsa -> td_lsa_q, q_subs -> td_sub_q, 26 ! added Neumann boundary conditions for profile data output of large scale 27 ! advection and subsidence terms at nzt+1 24 28 ! 25 29 ! Former revisions: … … 103 107 104 108 USE arrays_3d, & 105 ONLY: ddzu, ddzw, e, hyp, km, kh, nr, p, prho, pt, pt_lsa, pt_subs, q,&106 q c, ql, qr, qs, qsws, qswst, q_lsa, q_subs, rho, sa, saswsb,&107 saswst, shf, time_vert, ts, tswst, u, ug, us, usws, uswst, vsws,&108 v, vg, vpt, vswst, w, w_subs, zw109 ONLY: ddzu, ddzw, e, hyp, km, kh, nr, p, prho, pt, q, qc, ql, qr, qs, & 110 qsws, qswst, rho, sa, saswsb, saswst, shf, td_lsa_lpt, td_lsa_q,& 111 td_sub_lpt, td_sub_q, time_vert, ts, tswst, u, ug, us, usws, & 112 uswst, vsws, v, vg, vpt, vswst, w, w_subs, zw 109 113 110 114 USE cloud_parameters, & … … 1014 1018 1015 1019 DO k = nzb, nzt 1016 sums_ls_l(k,0) = pt_lsa(k,nt) & 1017 + fac * ( pt_lsa(k,nt+1) - pt_lsa(k,nt) ) 1018 sums_ls_l(k,1) = q_lsa(k,nt) & 1019 + fac * ( q_lsa(k,nt+1) - q_lsa(k,nt) ) 1020 ENDDO 1020 sums_ls_l(k,0) = td_lsa_lpt(k,nt) & 1021 + fac * ( td_lsa_lpt(k,nt+1) - td_lsa_lpt(k,nt) ) 1022 sums_ls_l(k,1) = td_lsa_q(k,nt) & 1023 + fac * ( td_lsa_q(k,nt+1) - td_lsa_q(k,nt) ) 1024 ENDDO 1025 1026 sums_ls_l(nzt+1,0) = sums_ls_l(nzt,0) 1027 sums_ls_l(nzt+1,1) = sums_ls_l(nzt,1) 1021 1028 1022 1029 IF ( large_scale_subsidence .AND. use_subsidence_tendencies ) THEN 1023 1030 1024 1031 DO k = nzb, nzt 1025 sums_ls_l(k,2) = pt_subs(k,nt) & 1026 + fac * ( pt_subs(k,nt+1) - pt_subs(k,nt) ) 1027 sums_ls_l(k,3) = q_subs(k,nt) & 1028 + fac * ( q_subs(k,nt+1) - q_subs(k,nt) ) 1029 ENDDO 1032 sums_ls_l(k,2) = td_sub_lpt(k,nt) + fac * & 1033 ( td_sub_lpt(k,nt+1) - td_sub_lpt(k,nt) ) 1034 sums_ls_l(k,3) = td_sub_q(k,nt) + fac * & 1035 ( td_sub_q(k,nt+1) - td_sub_q(k,nt) ) 1036 ENDDO 1037 1038 sums_ls_l(nzt+1,2) = sums_ls_l(nzt,2) 1039 sums_ls_l(nzt+1,3) = sums_ls_l(nzt,3) 1030 1040 1031 1041 ENDIF … … 1192 1202 1193 1203 IF ( large_scale_forcing ) THEN 1194 hom(:,1,81,sr) = sums_ls_l(:,0) ! pt_lsa1195 hom(:,1,82,sr) = sums_ls_l(:,1) ! q_lsa1204 hom(:,1,81,sr) = sums_ls_l(:,0) ! td_lsa_lpt 1205 hom(:,1,82,sr) = sums_ls_l(:,1) ! td_lsa_q 1196 1206 IF ( use_subsidence_tendencies ) THEN 1197 hom(:,1,83,sr) = sums_ls_l(:,2) ! pt_subs1198 hom(:,1,84,sr) = sums_ls_l(:,3) ! q_subs1207 hom(:,1,83,sr) = sums_ls_l(:,2) ! td_sub_lpt 1208 hom(:,1,84,sr) = sums_ls_l(:,3) ! td_sub_q 1199 1209 ELSE 1200 hom(:,1,83,sr) = sums(:,83) ! pt_subs1201 hom(:,1,84,sr) = sums(:,84) ! q_subs1210 hom(:,1,83,sr) = sums(:,83) ! td_sub_lpt 1211 hom(:,1,84,sr) = sums(:,84) ! td_sub_q 1202 1212 ENDIF 1203 hom(:,1,85,sr) = sums(:,85) ! pt_nudge1204 hom(:,1,86,sr) = sums(:,86) ! q_nudge1205 hom(:,1,87,sr) = sums(:,87) ! u_nudge1206 hom(:,1,88,sr) = sums(:,88) ! v_nudge1213 hom(:,1,85,sr) = sums(:,85) ! td_nud_lpt 1214 hom(:,1,86,sr) = sums(:,86) ! td_nud_q 1215 hom(:,1,87,sr) = sums(:,87) ! td_nud_u 1216 hom(:,1,88,sr) = sums(:,88) ! td_nud_v 1207 1217 ENDIF 1208 1218 … … 1386 1396 1387 1397 USE arrays_3d, & 1388 ONLY: ddzu, ddzw, e, hyp, km, kh, nr, p, prho, pt, pt_lsa, pt_subs, q,&1389 q c, ql, qr, qs, qsws, qswst, q_lsa, q_subs, rho, sa, saswsb,&1390 saswst, shf, time_vert, ts, tswst, u, ug, us, usws, uswst, vsws,&1391 v, vg, vpt, vswst, w, w_subs, zw1398 ONLY: ddzu, ddzw, e, hyp, km, kh, nr, p, prho, pt, q, qc, ql, qr, qs, & 1399 qsws, qswst, rho, sa, saswsb, saswst, shf, td_lsa_lpt, td_lsa_q,& 1400 td_sub_lpt, td_sub_q, time_vert, ts, tswst, u, ug, us, usws, & 1401 uswst, vsws, v, vg, vpt, vswst, w, w_subs, zw 1392 1402 1393 1403 … … 2763 2773 2764 2774 DO k = nzb, nzt 2765 sums_ls_l(k,0) = pt_lsa(k,nt) & 2766 + fac * ( pt_lsa(k,nt+1) - pt_lsa(k,nt) ) 2767 sums_ls_l(k,1) = q_lsa(k,nt) & 2768 + fac * ( q_lsa(k,nt+1) - q_lsa(k,nt) ) 2769 ENDDO 2775 sums_ls_l(k,0) = td_lsa_lpt(k,nt) & 2776 + fac * ( td_lsa_lpt(k,nt+1) - td_lsa_lpt(k,nt) ) 2777 sums_ls_l(k,1) = td_lsa_q(k,nt) & 2778 + fac * ( td_lsa_q(k,nt+1) - td_lsa_q(k,nt) ) 2779 ENDDO 2780 2781 sums_ls_l(nzt+1,0) = sums_ls_l(nzt,0) 2782 sums_ls_l(nzt+1,1) = sums_ls_l(nzt,1) 2770 2783 2771 2784 IF ( large_scale_subsidence .AND. use_subsidence_tendencies ) THEN 2772 2785 2773 2786 DO k = nzb, nzt 2774 sums_ls_l(k,2) = pt_subs(k,nt) & 2775 + fac * ( pt_subs(k,nt+1) - pt_subs(k,nt) ) 2776 sums_ls_l(k,3) = q_subs(k,nt) & 2777 + fac * ( q_subs(k,nt+1) - q_subs(k,nt) ) 2778 ENDDO 2787 sums_ls_l(k,2) = td_sub_lpt(k,nt) + fac * & 2788 ( td_sub_lpt(k,nt+1) - td_sub_lpt(k,nt) ) 2789 sums_ls_l(k,3) = td_sub_q(k,nt) + fac * & 2790 ( td_sub_q(k,nt+1) - td_sub_q(k,nt) ) 2791 ENDDO 2792 2793 sums_ls_l(nzt+1,2) = sums_ls_l(nzt,2) 2794 sums_ls_l(nzt+1,3) = sums_ls_l(nzt,3) 2779 2795 2780 2796 ENDIF … … 2943 2959 2944 2960 IF ( large_scale_forcing ) THEN 2945 hom(:,1,81,sr) = sums_ls_l(:,0) ! pt_lsa2946 hom(:,1,82,sr) = sums_ls_l(:,1) ! q_lsa2961 hom(:,1,81,sr) = sums_ls_l(:,0) ! td_lsa_lpt 2962 hom(:,1,82,sr) = sums_ls_l(:,1) ! td_lsa_q 2947 2963 IF ( use_subsidence_tendencies ) THEN 2948 hom(:,1,83,sr) = sums_ls_l(:,2) ! pt_subs2949 hom(:,1,84,sr) = sums_ls_l(:,3) ! q_subs2964 hom(:,1,83,sr) = sums_ls_l(:,2) ! td_sub_lpt 2965 hom(:,1,84,sr) = sums_ls_l(:,3) ! td_sub_q 2950 2966 ELSE 2951 hom(:,1,83,sr) = sums(:,83) ! pt_subs2952 hom(:,1,84,sr) = sums(:,84) ! q_subs2967 hom(:,1,83,sr) = sums(:,83) ! td_sub_lpt 2968 hom(:,1,84,sr) = sums(:,84) ! td_sub_q 2953 2969 ENDIF 2954 hom(:,1,85,sr) = sums(:,85) ! pt_nudge2955 hom(:,1,86,sr) = sums(:,86) ! q_nudge2956 hom(:,1,87,sr) = sums(:,87) ! u_nudge2957 hom(:,1,88,sr) = sums(:,88) ! v_nudge2970 hom(:,1,85,sr) = sums(:,85) ! td_nud_lpt 2971 hom(:,1,86,sr) = sums(:,86) ! td_nud_q 2972 hom(:,1,87,sr) = sums(:,87) ! td_nud_u 2973 hom(:,1,88,sr) = sums(:,88) ! td_nud_v 2958 2974 END IF 2959 2975 -
palm/trunk/SOURCE/ls_forcing.f90
r1366 r1382 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Renamed variables which store large scale forcing tendencies 23 ! pt_lsa -> td_lsa_lpt, pt_subs -> td_sub_lpt, 24 ! q_lsa -> td_lsa_q, q_subs -> td_sub_q, 25 ! high|lowpt_lsa -> high|low_td_lsa_lpt, ... 23 26 ! 24 27 ! Former revisions: … … 81 84 82 85 USE arrays_3d, & 83 ONLY: p_surf, pt_ lsa, pt_subs, pt_surf, q_lsa, q_subs, q_surf,&84 qsws_surf, shf_surf, time_surf, time_vert, ug_vert, vg_vert,&85 wsubs_vert, zu86 ONLY: p_surf, pt_surf, q_surf, qsws_surf, shf_surf, td_lsa_lpt, & 87 td_lsa_q, td_sub_lpt, td_sub_q, time_surf, time_vert, & 88 ug_vert, vg_vert, wsubs_vert, zu 86 89 87 90 USE control_parameters, & … … 116 119 REAL(wp) :: lowvg_vert !: 117 120 REAL(wp) :: lowwsubs_vert !: 118 REAL(wp) :: high pt_lsa!:119 REAL(wp) :: low pt_lsa!:120 REAL(wp) :: high q_lsa!:121 REAL(wp) :: low q_lsa!:122 REAL(wp) :: high pt_subs!:123 REAL(wp) :: low pt_subs!:124 REAL(wp) :: high q_subs!:125 REAL(wp) :: low q_subs!:121 REAL(wp) :: high_td_lsa_lpt !: 122 REAL(wp) :: low_td_lsa_lpt !: 123 REAL(wp) :: high_td_lsa_q !: 124 REAL(wp) :: low_td_lsa_q !: 125 REAL(wp) :: high_td_sub_lpt !: 126 REAL(wp) :: low_td_sub_lpt !: 127 REAL(wp) :: high_td_sub_q !: 128 REAL(wp) :: low_td_sub_q !: 126 129 REAL(wp) :: r_dummy !: 127 130 128 ALLOCATE( p_surf(0:nlsf), pt_ lsa(nzb:nzt+1,0:nlsf),&129 pt_subs(nzb:nzt+1,0:nlsf), pt_surf(0:nlsf),&130 q_lsa(nzb:nzt+1,0:nlsf), q_subs(nzb:nzt+1,0:nlsf),&131 q_surf(0:nlsf), qsws_surf(0:nlsf), shf_surf(0:nlsf),&131 ALLOCATE( p_surf(0:nlsf), pt_surf(0:nlsf), q_surf(0:nlsf), & 132 qsws_surf(0:nlsf), shf_surf(0:nlsf), & 133 td_lsa_lpt(nzb:nzt+1,0:nlsf), td_lsa_q(nzb:nzt+1,0:nlsf), & 134 td_sub_lpt(nzb:nzt+1,0:nlsf), td_sub_q(nzb:nzt+1,0:nlsf), & 132 135 time_vert(0:nlsf), time_surf(0:nlsf), & 133 136 ug_vert(nzb:nzt+1,0:nlsf), vg_vert(nzb:nzt+1,0:nlsf), & 134 137 wsubs_vert(nzb:nzt+1,0:nlsf) ) 135 138 136 p_surf = 0.0_wp; pt_lsa = 0.0; pt_subs = 0.0; pt_surf = 0.0_wp 137 q_lsa = 0.0; q_subs = 0.0; q_surf = 0.0_wp; qsws_surf = 0.0_wp 138 shf_surf = 0.0_wp; time_vert = 0.0_wp; time_surf = 0.0_wp; 139 ug_vert = 0.0_wp; vg_vert = 0.0_wp; wsubs_vert = 0.0_wp 139 p_surf = 0.0_wp; pt_surf = 0.0_wp; q_surf = 0.0_wp; qsws_surf = 0.0_wp 140 shf_surf = 0.0_wp; time_vert = 0.0_wp; td_lsa_lpt = 0.0_wp 141 td_lsa_q = 0.0_wp; td_sub_lpt = 0.0_wp; td_sub_q = 0.0_wp 142 time_surf = 0.0_wp; ug_vert = 0.0_wp; vg_vert = 0.0_wp 143 wsubs_vert = 0.0_wp 140 144 141 145 ! … … 224 228 225 229 READ ( finput, *, IOSTAT=ierrn ) lowheight, lowug_vert, lowvg_vert, & 226 lowwsubs_vert, lowpt_lsa, & 227 lowq_lsa, lowpt_subs, lowq_subs 230 lowwsubs_vert, low_td_lsa_lpt, & 231 low_td_lsa_q, low_td_sub_lpt, & 232 low_td_sub_q 228 233 IF ( ierrn /= 0 ) THEN 229 234 message_string = 'errors in file LSF_DATA' … … 233 238 READ ( finput, *, IOSTAT=ierrn ) highheight, highug_vert, & 234 239 highvg_vert, highwsubs_vert, & 235 high pt_lsa, highq_lsa,&236 high pt_subs, highq_subs240 high_td_lsa_lpt, high_td_lsa_q, & 241 high_td_sub_lpt, high_td_sub_q 237 242 238 243 IF ( ierrn /= 0 ) THEN … … 244 249 DO k = nzb, nzt+1 245 250 IF ( highheight < zu(k) ) THEN 246 lowheight = highheight247 lowug_vert = highug_vert248 lowvg_vert = highvg_vert249 lowwsubs_vert = highwsubs_vert250 low pt_lsa = highpt_lsa251 low q_lsa = highq_lsa252 low pt_subs = highpt_subs253 low q_subs = highq_subs251 lowheight = highheight 252 lowug_vert = highug_vert 253 lowvg_vert = highvg_vert 254 lowwsubs_vert = highwsubs_vert 255 low_td_lsa_lpt = high_td_lsa_lpt 256 low_td_lsa_q = high_td_lsa_q 257 low_td_sub_lpt = high_td_sub_lpt 258 low_td_sub_q = high_td_sub_q 254 259 255 260 ierrn = 0 256 261 READ ( finput, *, IOSTAT=ierrn ) highheight, highug_vert, & 257 262 highvg_vert, highwsubs_vert, & 258 highpt_lsa, highq_lsa, & 259 highpt_subs, highq_subs 263 high_td_lsa_lpt, & 264 high_td_lsa_q, & 265 high_td_sub_lpt, high_td_sub_q 260 266 261 267 IF ( ierrn /= 0 ) THEN … … 273 279 fac = (highheight-zu(k))/(highheight - lowheight) 274 280 275 ug_vert(k,nt) = fac*lowug_vert + (1.0_wp-fac)*highug_vert 276 vg_vert(k,nt) = fac*lowvg_vert + (1.0_wp-fac)*highvg_vert 277 wsubs_vert(k,nt) = fac*lowwsubs_vert + (1.0_wp-fac)*highwsubs_vert 278 279 pt_lsa(k,nt) = fac*lowpt_lsa + (1.0_wp-fac)*highpt_lsa 280 q_lsa(k,nt) = fac*lowq_lsa + (1.0_wp-fac)*highq_lsa 281 pt_subs(k,nt) = fac*lowpt_subs + (1.0_wp-fac)*highpt_subs 282 q_subs(k,nt) = fac*lowq_subs + (1.0_wp-fac)*highq_subs 281 ug_vert(k,nt) = fac * lowug_vert & 282 + ( 1.0_wp - fac ) * highug_vert 283 vg_vert(k,nt) = fac * lowvg_vert & 284 + ( 1.0_wp - fac ) * highvg_vert 285 wsubs_vert(k,nt) = fac * lowwsubs_vert & 286 + ( 1.0_wp - fac ) * highwsubs_vert 287 288 td_lsa_lpt(k,nt) = fac * low_td_lsa_lpt & 289 + ( 1.0_wp - fac ) * high_td_lsa_lpt 290 td_lsa_q(k,nt) = fac * low_td_lsa_q & 291 + ( 1.0_wp - fac ) * high_td_lsa_q 292 td_sub_lpt(k,nt) = fac * low_td_sub_lpt & 293 + ( 1.0_wp - fac ) * high_td_sub_lpt 294 td_sub_q(k,nt) = fac * low_td_sub_q & 295 + ( 1.0_wp - fac ) * high_td_sub_q 283 296 284 297 ENDDO … … 413 426 414 427 USE arrays_3d, & 415 ONLY: pt_lsa, pt_subs, q_lsa, q_subs, tend, time_vert428 ONLY: td_lsa_lpt, td_lsa_q, td_sub_lpt, td_sub_q, tend, time_vert 416 429 417 430 USE control_parameters, & … … 455 468 DO j = nys, nyn 456 469 DO k = nzb_u_inner(j,i)+1, nzt 457 tend(k,j,i) = tend(k,j,i) + pt_lsa(k,nt)&458 + fac * ( pt_lsa(k,nt+1) - pt_lsa(k,nt) )470 tend(k,j,i) = tend(k,j,i) + td_lsa_lpt(k,nt) + fac * & 471 ( td_lsa_lpt(k,nt+1) - td_lsa_lpt(k,nt) ) 459 472 ENDDO 460 473 ENDDO … … 466 479 DO j = nys, nyn 467 480 DO k = nzb_u_inner(j,i)+1, nzt 468 tend(k,j,i) = tend(k,j,i) + q_lsa(k,nt)&469 + fac * ( q_lsa(k,nt+1) - q_lsa(k,nt) )481 tend(k,j,i) = tend(k,j,i) + td_lsa_q(k,nt) + fac * & 482 ( td_lsa_q(k,nt+1) - td_lsa_q(k,nt) ) 470 483 ENDDO 471 484 ENDDO … … 485 498 DO j = nys, nyn 486 499 DO k = nzb_u_inner(j,i)+1, nzt 487 tend(k,j,i) = tend(k,j,i) + pt_subs(k,nt) + fac *&488 ( pt_subs(k,nt+1) - pt_subs(k,nt) )500 tend(k,j,i) = tend(k,j,i) + td_sub_lpt(k,nt) + fac * & 501 ( td_sub_lpt(k,nt+1) - td_sub_lpt(k,nt) ) 489 502 ENDDO 490 503 ENDDO … … 496 509 DO j = nys, nyn 497 510 DO k = nzb_u_inner(j,i)+1, nzt 498 tend(k,j,i) = tend(k,j,i) + q_subs(k,nt) + fac *&499 ( q_subs(k,nt+1) - q_subs(k,nt) )511 tend(k,j,i) = tend(k,j,i) + td_sub_q(k,nt) + fac * & 512 ( td_sub_q(k,nt+1) - td_sub_q(k,nt) ) 500 513 ENDDO 501 514 ENDDO … … 515 528 516 529 USE arrays_3d, & 517 ONLY: pt_lsa, pt_subs, q_lsa, q_subs, tend, time_vert530 ONLY: td_lsa_lpt, td_lsa_q, td_sub_lpt, td_sub_q, tend, time_vert 518 531 519 532 USE control_parameters, & … … 555 568 556 569 DO k = nzb_u_inner(j,i)+1, nzt 557 tend(k,j,i) = tend(k,j,i) + pt_lsa(k,nt)&558 + fac * ( pt_lsa(k,nt+1) - pt_lsa(k,nt) )570 tend(k,j,i) = tend(k,j,i) + td_lsa_lpt(k,nt) & 571 + fac * ( td_lsa_lpt(k,nt+1) - td_lsa_lpt(k,nt) ) 559 572 ENDDO 560 573 … … 562 575 563 576 DO k = nzb_u_inner(j,i)+1, nzt 564 tend(k,j,i) = tend(k,j,i) + q_lsa(k,nt)&565 + fac * ( q_lsa(k,nt+1) - q_lsa(k,nt) )577 tend(k,j,i) = tend(k,j,i) + td_lsa_q(k,nt) & 578 + fac * ( td_lsa_q(k,nt+1) - td_lsa_q(k,nt) ) 566 579 ENDDO 567 580 … … 577 590 578 591 DO k = nzb_u_inner(j,i)+1, nzt 579 tend(k,j,i) = tend(k,j,i) + pt_subs(k,nt) + fac *&580 ( pt_subs(k,nt+1) - pt_subs(k,nt) )592 tend(k,j,i) = tend(k,j,i) + td_sub_lpt(k,nt) + fac * & 593 ( td_sub_lpt(k,nt+1) - td_sub_lpt(k,nt) ) 581 594 ENDDO 582 595 … … 584 597 585 598 DO k = nzb_u_inner(j,i)+1, nzt 586 tend(k,j,i) = tend(k,j,i) + q_subs(k,nt) + fac *&587 ( q_subs(k,nt+1) - q_subs(k,nt) )599 tend(k,j,i) = tend(k,j,i) + td_sub_q(k,nt) + fac * & 600 ( td_sub_q(k,nt+1) - td_sub_q(k,nt) ) 588 601 ENDDO 589 602 -
palm/trunk/SOURCE/modules.f90
r1366 r1382 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Renamed variables which store large scale forcing tendencies 23 ! pt_lsa -> td_lsa_lpt, pt_subs -> td_sub_lpt, 24 ! q_lsa -> td_lsa_q, q_subs -> td_sub_q 23 25 ! 24 26 ! Former revisions: … … 288 290 flux_s_e, flux_s_nr, flux_s_pt, flux_s_q, flux_s_qr, flux_s_sa, & 289 291 flux_s_u, flux_s_v, flux_s_w, f1_mg, f2_mg, f3_mg, & 290 mean_inflow_profiles, nrs, nrsws, nrswst, ptnudge, pt_ lsa,&291 pt_slope_ref, pt_subs, qnudge, qs, qsws, qswst, qswst_remote, qrs,&292 qrsws, qrswst, q_lsa, q_subs, rif, saswsb, saswst, shf, tnudge,&293 t otal_2d_a, total_2d_o, ts, tswst, ug_vert, unudge, us, usws, uswst,&294 vnudge, vg_vert, vsws, vswst, wnudge, wsubs_vert, z0, z0h292 mean_inflow_profiles, nrs, nrsws, nrswst, ptnudge, pt_slope_ref, & 293 qnudge, qs, qsws, qswst, qswst_remote, qrs, qrsws, qrswst, rif, & 294 saswsb, saswst, shf, tnudge, td_lsa_lpt, td_lsa_q, td_sub_lpt, & 295 td_sub_q, total_2d_a, total_2d_o, ts, tswst, ug_vert, unudge, us, & 296 usws, uswst, vnudge, vg_vert, vsws, vswst, wnudge, wsubs_vert, z0, z0h 295 297 296 298 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: & -
palm/trunk/SOURCE/nudging.f90
r1381 r1382 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Changed the weighting factor that is used in the summation of nudging 23 ! tendencies for profile data output from weight_pres to weight_substep, 24 ! added Neumann boundary conditions for profile data output of nudging terms at 25 ! nzt+1 23 26 ! 24 27 ! Former revisions: … … 299 302 300 303 USE statistics, & 301 ONLY: hom, sums_ls_l, weight_ pres304 ONLY: hom, sums_ls_l, weight_substep 302 305 303 306 IMPLICIT NONE … … 333 336 DO i = nxl, nxr 334 337 DO j = nys, nyn 338 335 339 DO k = nzb_u_inner(j,i)+1, nzt 336 340 … … 341 345 342 346 sums_ls_l(k,6) = sums_ls_l(k,6) + tmp_tend * & 343 weight_pres(intermediate_timestep_count)347 weight_substep(intermediate_timestep_count) 344 348 ENDDO 349 350 sums_ls_l(nzt+1,6) = sums_ls_l(nzt,6) 351 345 352 ENDDO 346 353 ENDDO … … 350 357 DO i = nxl, nxr 351 358 DO j = nys, nyn 359 352 360 DO k = nzb_u_inner(j,i)+1, nzt 353 361 … … 358 366 359 367 sums_ls_l(k,7) = sums_ls_l(k,7) + tmp_tend * & 360 weight_pres(intermediate_timestep_count)368 weight_substep(intermediate_timestep_count) 361 369 ENDDO 370 371 sums_ls_l(nzt+1,7) = sums_ls_l(nzt,7) 372 362 373 ENDDO 363 374 ENDDO … … 367 378 DO i = nxl, nxr 368 379 DO j = nys, nyn 380 369 381 DO k = nzb_u_inner(j,i)+1, nzt 370 382 … … 375 387 376 388 sums_ls_l(k,4) = sums_ls_l(k,4) + tmp_tend * & 377 weight_pres(intermediate_timestep_count)389 weight_substep(intermediate_timestep_count) 378 390 ENDDO 391 392 sums_ls_l(nzt+1,4) = sums_ls_l(nzt,4) 393 379 394 ENDDO 380 395 ENDDO … … 384 399 DO i = nxl, nxr 385 400 DO j = nys, nyn 401 386 402 DO k = nzb_u_inner(j,i)+1, nzt 387 403 … … 392 408 393 409 sums_ls_l(k,5) = sums_ls_l(k,5) + tmp_tend * & 394 weight_pres(intermediate_timestep_count)410 weight_substep(intermediate_timestep_count) 395 411 ENDDO 412 413 sums_ls_l(nzt+1,5) = sums_ls_l(nzt,5) 414 396 415 ENDDO 397 416 ENDDO … … 425 444 426 445 USE statistics, & 427 ONLY: hom, sums_ls_l, weight_ pres446 ONLY: hom, sums_ls_l, weight_substep 428 447 429 448 IMPLICIT NONE … … 466 485 467 486 sums_ls_l(k,6) = sums_ls_l(k,6) + tmp_tend & 468 * weight_ pres(intermediate_timestep_count)487 * weight_substep(intermediate_timestep_count) 469 488 ENDDO 489 490 sums_ls_l(nzt+1,6) = sums_ls_l(nzt,6) 470 491 471 492 CASE ( 'v' ) … … 479 500 480 501 sums_ls_l(k,7) = sums_ls_l(k,7) + tmp_tend & 481 * weight_ pres(intermediate_timestep_count)502 * weight_substep(intermediate_timestep_count) 482 503 ENDDO 483 504 505 sums_ls_l(nzt+1,7) = sums_ls_l(nzt,7) 484 506 485 507 CASE ( 'pt' ) … … 493 515 494 516 sums_ls_l(k,4) = sums_ls_l(k,4) + tmp_tend & 495 * weight_ pres(intermediate_timestep_count)517 * weight_substep(intermediate_timestep_count) 496 518 ENDDO 519 520 sums_ls_l(nzt+1,4) = sums_ls_l(nzt,4) 497 521 498 522 … … 507 531 508 532 sums_ls_l(k,5) = sums_ls_l(k,5) + tmp_tend & 509 * weight_ pres(intermediate_timestep_count)533 * weight_substep(intermediate_timestep_count) 510 534 ENDDO 535 536 sums_ls_l(nzt+1,5) = sums_ls_l(nzt,5) 511 537 512 538 CASE DEFAULT -
palm/trunk/SOURCE/subsidence.f90
r1381 r1382 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Changed the weighting factor that is used in the summation of subsidence 23 ! tendencies for profile data output from weight_pres to weight_substep 24 ! added Neumann boundary conditions for profile data output of subsidence terms 25 ! at nzt+1 23 26 ! 24 27 ! Former revisions: … … 163 166 164 167 USE statistics, & 165 ONLY: sums_ls_l, weight_ pres168 ONLY: sums_ls_l, weight_substep 166 169 167 170 IMPLICIT NONE … … 186 189 DO i = nxl, nxr 187 190 DO j = nys, nyn 191 188 192 DO k = nzb_s_inner(j,i)+1, nzt 189 193 IF ( w_subs(k) < 0.0_wp ) THEN ! large-scale subsidence … … 199 203 IF ( large_scale_forcing ) THEN 200 204 sums_ls_l(k,ls_index) = sums_ls_l(k,ls_index) + tmp_tend & 201 * weight_pres(intermediate_timestep_count)205 * weight_substep(intermediate_timestep_count) 202 206 ENDIF 203 207 ENDDO 208 209 sums_ls_l(nzt+1,ls_index) = sums_ls_l(nzt,ls_index) 210 204 211 ENDDO 205 212 ENDDO … … 259 266 260 267 USE statistics, & 261 ONLY: sums_ls_l, weight_ pres268 ONLY: sums_ls_l, weight_substep 262 269 263 270 IMPLICIT NONE … … 291 298 IF ( large_scale_forcing ) THEN 292 299 sums_ls_l(k,ls_index) = sums_ls_l(k,ls_index) + tmp_tend & 293 * weight_pres(intermediate_timestep_count)300 * weight_substep(intermediate_timestep_count) 294 301 ENDIF 295 302 ENDDO 303 304 sums_ls_l(nzt+1,ls_index) = sums_ls_l(nzt,ls_index) 296 305 297 306
Note: See TracChangeset
for help on using the changeset viewer.