Changeset 1551 for palm/trunk/SOURCE/sum_up_3d_data.f90
- Timestamp:
- Mar 3, 2015 2:18:16 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/sum_up_3d_data.f90
r1360 r1551 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Added support for land surface model and radiation model data. 23 23 ! 24 24 ! Former revisions: … … 94 94 USE kinds 95 95 96 USE land_surface_model_mod, & 97 ONLY: c_liq, c_liq_av, c_soil_av, c_veg, c_veg_av, ghf_eb, & 98 ghf_eb_av, lai, lai_av, m_liq_eb, m_liq_eb_av, m_soil, & 99 m_soil_av, nzb_soil, nzt_soil, qsws_eb, qsws_eb_av, & 100 qsws_liq_eb, qsws_liq_eb_av, qsws_soil_eb, qsws_soil_eb_av, & 101 qsws_veg_eb, qsws_veg_eb_av, shf_eb, shf_eb_av, t_soil, & 102 t_soil_av 103 96 104 USE particle_attributes, & 97 105 ONLY: grid_particles, number_of_particles, particles, prt_count 106 107 USE radiation_model_mod, & 108 ONLY: rad_net, rad_net_av, rad_sw_in, rad_sw_in_av 98 109 99 110 IMPLICIT NONE … … 123 134 SELECT CASE ( TRIM( doav(ii) ) ) 124 135 136 CASE ( 'c_liq*' ) 137 IF ( .NOT. ALLOCATED( c_liq_av ) ) THEN 138 ALLOCATE( c_liq_av(nysg:nyng,nxlg:nxrg) ) 139 ENDIF 140 c_liq_av = 0.0_wp 141 142 CASE ( 'c_soil*' ) 143 IF ( .NOT. ALLOCATED( c_soil_av ) ) THEN 144 ALLOCATE( c_soil_av(nysg:nyng,nxlg:nxrg) ) 145 ENDIF 146 c_soil_av = 0.0_wp 147 148 CASE ( 'c_veg*' ) 149 IF ( .NOT. ALLOCATED( c_veg_av ) ) THEN 150 ALLOCATE( c_veg_av(nysg:nyng,nxlg:nxrg) ) 151 ENDIF 152 c_veg_av = 0.0_wp 153 125 154 CASE ( 'e' ) 126 155 IF ( .NOT. ALLOCATED( e_av ) ) THEN … … 129 158 e_av = 0.0_wp 130 159 160 CASE ( 'ghf_eb*' ) 161 IF ( .NOT. ALLOCATED( ghf_eb_av ) ) THEN 162 ALLOCATE( ghf_eb_av(nysg:nyng,nxlg:nxrg) ) 163 ENDIF 164 ghf_eb_av = 0.0_wp 165 166 CASE ( 'lai*' ) 167 IF ( .NOT. ALLOCATED( lai_av ) ) THEN 168 ALLOCATE( lai_av(nysg:nyng,nxlg:nxrg) ) 169 ENDIF 170 lai_av = 0.0_wp 171 131 172 CASE ( 'lpt' ) 132 173 IF ( .NOT. ALLOCATED( lpt_av ) ) THEN … … 141 182 lwp_av = 0.0_wp 142 183 184 CASE ( 'm_liq_eb*' ) 185 IF ( .NOT. ALLOCATED( m_liq_eb_av ) ) THEN 186 ALLOCATE( m_liq_eb_av(nysg:nyng,nxlg:nxrg) ) 187 ENDIF 188 m_liq_eb_av = 0.0_wp 189 190 CASE ( 'm_soil' ) 191 IF ( .NOT. ALLOCATED( m_soil_av ) ) THEN 192 ALLOCATE( m_soil_av(nzb_soil:nzt_soil,nysg:nyng,nxlg:nxrg) ) 193 ENDIF 194 m_soil_av = 0.0_wp 195 143 196 CASE ( 'nr' ) 144 197 IF ( .NOT. ALLOCATED( nr_av ) ) THEN … … 231 284 qsws_av = 0.0_wp 232 285 286 CASE ( 'qsws_eb*' ) 287 IF ( .NOT. ALLOCATED( qsws_eb_av ) ) THEN 288 ALLOCATE( qsws_eb_av(nysg:nyng,nxlg:nxrg) ) 289 ENDIF 290 qsws_eb_av = 0.0_wp 291 292 CASE ( 'qsws_liq_eb*' ) 293 IF ( .NOT. ALLOCATED( qsws_liq_eb_av ) ) THEN 294 ALLOCATE( qsws_liq_eb_av(nysg:nyng,nxlg:nxrg) ) 295 ENDIF 296 qsws_liq_eb_av = 0.0_wp 297 298 CASE ( 'qsws_soil_eb*' ) 299 IF ( .NOT. ALLOCATED( qsws_soil_eb_av ) ) THEN 300 ALLOCATE( qsws_soil_eb_av(nysg:nyng,nxlg:nxrg) ) 301 ENDIF 302 qsws_soil_eb_av = 0.0_wp 303 304 CASE ( 'qsws_veg_eb*' ) 305 IF ( .NOT. ALLOCATED( qsws_veg_eb_av ) ) THEN 306 ALLOCATE( qsws_veg_eb_av(nysg:nyng,nxlg:nxrg) ) 307 ENDIF 308 qsws_veg_eb_av = 0.0_wp 309 233 310 CASE ( 'qv' ) 234 311 IF ( .NOT. ALLOCATED( qv_av ) ) THEN … … 237 314 qv_av = 0.0_wp 238 315 316 CASE ( 'rad_net*' ) 317 IF ( .NOT. ALLOCATED( rad_net_av ) ) THEN 318 ALLOCATE( rad_net_av(nysg:nyng,nxlg:nxrg) ) 319 ENDIF 320 rad_net_av = 0.0_wp 321 322 CASE ( 'rad_sw_in*' ) 323 IF ( .NOT. ALLOCATED( rad_sw_in_av ) ) THEN 324 ALLOCATE( rad_sw_in_av(nysg:nyng,nxlg:nxrg) ) 325 ENDIF 326 rad_sw_in_av = 0.0_wp 327 239 328 CASE ( 'rho' ) 240 329 IF ( .NOT. ALLOCATED( rho_av ) ) THEN … … 261 350 shf_av = 0.0_wp 262 351 352 CASE ( 'shf_eb*' ) 353 IF ( .NOT. ALLOCATED( shf_eb_av ) ) THEN 354 ALLOCATE( shf_eb_av(nysg:nyng,nxlg:nxrg) ) 355 ENDIF 356 shf_eb_av = 0.0_wp 357 358 CASE ( 't_soil' ) 359 IF ( .NOT. ALLOCATED( t_soil_av ) ) THEN 360 ALLOCATE( t_soil_av(nzb_soil:nzt_soil,nysg:nyng,nxlg:nxrg) ) 361 ENDIF 362 t_soil_av = 0.0_wp 363 263 364 CASE ( 't*' ) 264 365 IF ( .NOT. ALLOCATED( ts_av ) ) THEN … … 328 429 SELECT CASE ( TRIM( doav(ii) ) ) 329 430 431 CASE ( 'c_liq*' ) 432 DO i = nxlg, nxrg 433 DO j = nysg, nyng 434 c_liq_av(j,i) = c_liq_av(j,i) 435 ENDDO 436 ENDDO 437 438 CASE ( 'c_soil*' ) 439 DO i = nxlg, nxrg 440 DO j = nysg, nyng 441 c_soil_av(j,i) = c_soil_av(j,i) + (1.0_wp - c_veg(j,i)) 442 ENDDO 443 ENDDO 444 445 CASE ( 'c_veg*' ) 446 DO i = nxlg, nxrg 447 DO j = nysg, nyng 448 c_veg_av(j,i) = c_veg_av(j,i) 449 ENDDO 450 ENDDO 451 330 452 CASE ( 'e' ) 331 453 DO i = nxlg, nxrg … … 334 456 e_av(k,j,i) = e_av(k,j,i) + e(k,j,i) 335 457 ENDDO 458 ENDDO 459 ENDDO 460 461 CASE ( 'ghf_eb*' ) 462 DO i = nxlg, nxrg 463 DO j = nysg, nyng 464 ghf_eb_av(j,i) = ghf_eb_av(j,i) + ghf_eb(j,i) 465 ENDDO 466 ENDDO 467 468 CASE ( 'lai*' ) 469 DO i = nxlg, nxrg 470 DO j = nysg, nyng 471 lai_av(j,i) = lai_av(j,i) 336 472 ENDDO 337 473 ENDDO … … 351 487 lwp_av(j,i) = lwp_av(j,i) + SUM( ql(nzb:nzt,j,i) * & 352 488 dzw(1:nzt+1) ) 489 ENDDO 490 ENDDO 491 492 CASE ( 'm_liq_eb*' ) 493 DO i = nxlg, nxrg 494 DO j = nysg, nyng 495 m_liq_eb_av(j,i) = m_liq_eb_av(j,i) + m_liq_eb(j,i) 496 ENDDO 497 ENDDO 498 499 CASE ( 'm_soil' ) 500 DO i = nxlg, nxrg 501 DO j = nysg, nyng 502 DO k = nzb_soil, nzt_soil 503 m_soil_av(k,j,i) = m_soil_av(k,j,i) + m_soil(k,j,i) 504 ENDDO 353 505 ENDDO 354 506 ENDDO … … 518 670 ENDDO 519 671 672 CASE ( 'qsws_eb*' ) 673 DO i = nxlg, nxrg 674 DO j = nysg, nyng 675 qsws_eb_av(j,i) = qsws_eb_av(j,i) + qsws_eb(j,i) 676 ENDDO 677 ENDDO 678 679 CASE ( 'qsws_liq_eb*' ) 680 DO i = nxlg, nxrg 681 DO j = nysg, nyng 682 qsws_liq_eb_av(j,i) = qsws_liq_eb_av(j,i) + qsws_liq_eb(j,i) 683 ENDDO 684 ENDDO 685 686 CASE ( 'qsws_soil_eb*' ) 687 DO i = nxlg, nxrg 688 DO j = nysg, nyng 689 qsws_soil_eb_av(j,i) = qsws_soil_eb_av(j,i) + qsws_soil_eb(j,i) 690 ENDDO 691 ENDDO 692 693 CASE ( 'qsws_veg_eb*' ) 694 DO i = nxlg, nxrg 695 DO j = nysg, nyng 696 qsws_veg_eb_av(j,i) = qsws_veg_eb_av(j,i) + qsws_veg_eb(j,i) 697 ENDDO 698 ENDDO 699 520 700 CASE ( 'qv' ) 521 701 DO i = nxlg, nxrg … … 527 707 ENDDO 528 708 709 CASE ( 'rad_net*' ) 710 DO i = nxlg, nxrg 711 DO j = nysg, nyng 712 rad_net_av(j,i) = rad_net_av(j,i) + rad_net(j,i) 713 ENDDO 714 ENDDO 715 716 CASE ( 'rad_sw_in*' ) 717 DO i = nxlg, nxrg 718 DO j = nysg, nyng 719 rad_sw_in_av(j,i) = rad_sw_in_av(j,i) + rad_sw_in(j,i) 720 ENDDO 721 ENDDO 722 529 723 CASE ( 'rho' ) 530 724 DO i = nxlg, nxrg … … 561 755 ENDDO 562 756 757 CASE ( 'shf_eb*' ) 758 DO i = nxlg, nxrg 759 DO j = nysg, nyng 760 shf_eb_av(j,i) = shf_eb_av(j,i) + shf_eb(j,i) 761 ENDDO 762 ENDDO 763 563 764 CASE ( 't*' ) 564 765 DO i = nxlg, nxrg 565 766 DO j = nysg, nyng 566 767 ts_av(j,i) = ts_av(j,i) + ts(j,i) 768 ENDDO 769 ENDDO 770 771 CASE ( 't_soil' ) 772 DO i = nxlg, nxrg 773 DO j = nysg, nyng 774 DO k = nzb_soil, nzt_soil 775 t_soil_av(k,j,i) = t_soil_av(k,j,i) + t_soil(k,j,i) 776 ENDDO 567 777 ENDDO 568 778 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.