Changeset 1972 for palm/trunk/SOURCE/sum_up_3d_data.f90
- Timestamp:
- Jul 26, 2016 7:52:02 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/sum_up_3d_data.f90
r1961 r1972 19 19 ! Current revisions: 20 20 ! ----------------- 21 ! 21 ! Land surface actions are now done directly in the respective module 22 22 ! 23 23 ! Former revisions: … … 129 129 130 130 USE land_surface_model_mod, & 131 ONLY: c_liq, c_liq_av, c_soil_av, c_veg, c_veg_av, ghf_eb, & 132 ghf_eb_av, lai, lai_av, m_liq_eb, m_liq_eb_av, m_soil, & 133 m_soil_av, nzb_soil, nzt_soil, qsws_eb, qsws_eb_av, & 134 qsws_liq_eb, qsws_liq_eb_av, qsws_soil_eb, qsws_soil_eb_av, & 135 qsws_veg_eb, qsws_veg_eb_av, shf_eb, shf_eb_av, r_a, r_a_av, & 136 r_s, r_s_av, t_soil, t_soil_av 131 ONLY: land_surface, lsm_3d_data_averaging 137 132 138 133 USE particle_attributes, & … … 173 168 SELECT CASE ( TRIM( doav(ii) ) ) 174 169 175 CASE ( 'c_liq*' )176 IF ( .NOT. ALLOCATED( c_liq_av ) ) THEN177 ALLOCATE( c_liq_av(nysg:nyng,nxlg:nxrg) )178 ENDIF179 c_liq_av = 0.0_wp180 181 CASE ( 'c_soil*' )182 IF ( .NOT. ALLOCATED( c_soil_av ) ) THEN183 ALLOCATE( c_soil_av(nysg:nyng,nxlg:nxrg) )184 ENDIF185 c_soil_av = 0.0_wp186 187 CASE ( 'c_veg*' )188 IF ( .NOT. ALLOCATED( c_veg_av ) ) THEN189 ALLOCATE( c_veg_av(nysg:nyng,nxlg:nxrg) )190 ENDIF191 c_veg_av = 0.0_wp192 193 170 CASE ( 'e' ) 194 171 IF ( .NOT. ALLOCATED( e_av ) ) THEN … … 197 174 e_av = 0.0_wp 198 175 199 CASE ( 'ghf_eb*' )200 IF ( .NOT. ALLOCATED( ghf_eb_av ) ) THEN201 ALLOCATE( ghf_eb_av(nysg:nyng,nxlg:nxrg) )202 ENDIF203 ghf_eb_av = 0.0_wp204 205 CASE ( 'lai*' )206 IF ( .NOT. ALLOCATED( lai_av ) ) THEN207 ALLOCATE( lai_av(nysg:nyng,nxlg:nxrg) )208 ENDIF209 lai_av = 0.0_wp210 211 176 CASE ( 'lpt' ) 212 177 IF ( .NOT. ALLOCATED( lpt_av ) ) THEN … … 221 186 lwp_av = 0.0_wp 222 187 223 CASE ( 'm_liq_eb*' )224 IF ( .NOT. ALLOCATED( m_liq_eb_av ) ) THEN225 ALLOCATE( m_liq_eb_av(nysg:nyng,nxlg:nxrg) )226 ENDIF227 m_liq_eb_av = 0.0_wp228 229 CASE ( 'm_soil' )230 IF ( .NOT. ALLOCATED( m_soil_av ) ) THEN231 ALLOCATE( m_soil_av(nzb_soil:nzt_soil,nysg:nyng,nxlg:nxrg) )232 ENDIF233 m_soil_av = 0.0_wp234 235 188 CASE ( 'nr' ) 236 189 IF ( .NOT. ALLOCATED( nr_av ) ) THEN … … 329 282 qsws_av = 0.0_wp 330 283 331 CASE ( 'qsws_eb*' )332 IF ( .NOT. ALLOCATED( qsws_eb_av ) ) THEN333 ALLOCATE( qsws_eb_av(nysg:nyng,nxlg:nxrg) )334 ENDIF335 qsws_eb_av = 0.0_wp336 337 CASE ( 'qsws_liq_eb*' )338 IF ( .NOT. ALLOCATED( qsws_liq_eb_av ) ) THEN339 ALLOCATE( qsws_liq_eb_av(nysg:nyng,nxlg:nxrg) )340 ENDIF341 qsws_liq_eb_av = 0.0_wp342 343 CASE ( 'qsws_soil_eb*' )344 IF ( .NOT. ALLOCATED( qsws_soil_eb_av ) ) THEN345 ALLOCATE( qsws_soil_eb_av(nysg:nyng,nxlg:nxrg) )346 ENDIF347 qsws_soil_eb_av = 0.0_wp348 349 CASE ( 'qsws_veg_eb*' )350 IF ( .NOT. ALLOCATED( qsws_veg_eb_av ) ) THEN351 ALLOCATE( qsws_veg_eb_av(nysg:nyng,nxlg:nxrg) )352 ENDIF353 qsws_veg_eb_av = 0.0_wp354 355 284 CASE ( 'qv' ) 356 285 IF ( .NOT. ALLOCATED( qv_av ) ) THEN … … 419 348 rho_av = 0.0_wp 420 349 421 CASE ( 'r_a*' )422 IF ( .NOT. ALLOCATED( r_a_av ) ) THEN423 ALLOCATE( r_a_av(nysg:nyng,nxlg:nxrg) )424 ENDIF425 r_a_av = 0.0_wp426 427 CASE ( 'r_s*' )428 IF ( .NOT. ALLOCATED( r_s_av ) ) THEN429 ALLOCATE( r_s_av(nysg:nyng,nxlg:nxrg) )430 ENDIF431 r_s_av = 0.0_wp432 433 350 CASE ( 's' ) 434 351 IF ( .NOT. ALLOCATED( s_av ) ) THEN … … 449 366 shf_av = 0.0_wp 450 367 451 CASE ( 'shf_eb*' )452 IF ( .NOT. ALLOCATED( shf_eb_av ) ) THEN453 ALLOCATE( shf_eb_av(nysg:nyng,nxlg:nxrg) )454 ENDIF455 shf_eb_av = 0.0_wp456 457 CASE ( 't_soil' )458 IF ( .NOT. ALLOCATED( t_soil_av ) ) THEN459 ALLOCATE( t_soil_av(nzb_soil:nzt_soil,nysg:nyng,nxlg:nxrg) )460 ENDIF461 t_soil_av = 0.0_wp462 463 368 CASE ( 't*' ) 464 369 IF ( .NOT. ALLOCATED( ts_av ) ) THEN … … 516 421 517 422 CASE DEFAULT 423 424 ! 425 !-- Land surface quantity 426 IF ( land_surface ) THEN 427 CALL lsm_3d_data_averaging( 'allocate', doav(ii) ) 428 ENDIF 429 518 430 ! 519 431 !-- User-defined quantity … … 534 446 SELECT CASE ( TRIM( doav(ii) ) ) 535 447 536 CASE ( 'c_liq*' )537 DO i = nxlg, nxrg538 DO j = nysg, nyng539 c_liq_av(j,i) = c_liq_av(j,i) + c_liq(j,i)540 ENDDO541 ENDDO542 543 CASE ( 'c_soil*' )544 DO i = nxlg, nxrg545 DO j = nysg, nyng546 c_soil_av(j,i) = c_soil_av(j,i) + (1.0 - c_veg(j,i))547 ENDDO548 ENDDO549 550 CASE ( 'c_veg*' )551 DO i = nxlg, nxrg552 DO j = nysg, nyng553 c_veg_av(j,i) = c_veg_av(j,i) + c_veg(j,i)554 ENDDO555 ENDDO556 557 448 CASE ( 'e' ) 558 449 DO i = nxlg, nxrg … … 561 452 e_av(k,j,i) = e_av(k,j,i) + e(k,j,i) 562 453 ENDDO 563 ENDDO564 ENDDO565 566 CASE ( 'ghf_eb*' )567 DO i = nxlg, nxrg568 DO j = nysg, nyng569 ghf_eb_av(j,i) = ghf_eb_av(j,i) + ghf_eb(j,i)570 ENDDO571 ENDDO572 573 CASE ( 'lai*' )574 DO i = nxlg, nxrg575 DO j = nysg, nyng576 lai_av(j,i) = lai_av(j,i) + lai(j,i)577 454 ENDDO 578 455 ENDDO … … 592 469 lwp_av(j,i) = lwp_av(j,i) + SUM( ql(nzb:nzt,j,i) & 593 470 * dzw(1:nzt+1) ) * rho_surface 594 ENDDO595 ENDDO596 597 CASE ( 'm_liq_eb*' )598 DO i = nxlg, nxrg599 DO j = nysg, nyng600 m_liq_eb_av(j,i) = m_liq_eb_av(j,i) + m_liq_eb(j,i)601 ENDDO602 ENDDO603 604 CASE ( 'm_soil' )605 DO i = nxlg, nxrg606 DO j = nysg, nyng607 DO k = nzb_soil, nzt_soil608 m_soil_av(k,j,i) = m_soil_av(k,j,i) + m_soil(k,j,i)609 ENDDO610 471 ENDDO 611 472 ENDDO … … 782 643 ENDDO 783 644 784 CASE ( 'qsws_eb*' )785 DO i = nxlg, nxrg786 DO j = nysg, nyng787 qsws_eb_av(j,i) = qsws_eb_av(j,i) + qsws_eb(j,i)788 ENDDO789 ENDDO790 791 CASE ( 'qsws_liq_eb*' )792 DO i = nxlg, nxrg793 DO j = nysg, nyng794 qsws_liq_eb_av(j,i) = qsws_liq_eb_av(j,i) + qsws_liq_eb(j,i)795 ENDDO796 ENDDO797 798 CASE ( 'qsws_soil_eb*' )799 DO i = nxlg, nxrg800 DO j = nysg, nyng801 qsws_soil_eb_av(j,i) = qsws_soil_eb_av(j,i) + qsws_soil_eb(j,i)802 ENDDO803 ENDDO804 805 CASE ( 'qsws_veg_eb*' )806 DO i = nxlg, nxrg807 DO j = nysg, nyng808 qsws_veg_eb_av(j,i) = qsws_veg_eb_av(j,i) + qsws_veg_eb(j,i)809 ENDDO810 ENDDO811 812 645 CASE ( 'qv' ) 813 646 DO i = nxlg, nxrg … … 898 731 ENDDO 899 732 900 CASE ( 'r_a*' )901 DO i = nxlg, nxrg902 DO j = nysg, nyng903 r_a_av(j,i) = r_a_av(j,i) + r_a(j,i)904 ENDDO905 ENDDO906 907 CASE ( 'r_s*' )908 DO i = nxlg, nxrg909 DO j = nysg, nyng910 r_s_av(j,i) = r_s_av(j,i) + r_s(j,i)911 ENDDO912 ENDDO913 914 733 CASE ( 'rho' ) 915 734 DO i = nxlg, nxrg … … 946 765 ENDDO 947 766 948 CASE ( 'shf_eb*' )949 DO i = nxlg, nxrg950 DO j = nysg, nyng951 shf_eb_av(j,i) = shf_eb_av(j,i) + shf_eb(j,i)952 ENDDO953 ENDDO954 955 767 CASE ( 'ssws*' ) 956 768 DO i = nxlg, nxrg … … 967 779 ENDDO 968 780 969 CASE ( 't_soil' )970 DO i = nxlg, nxrg971 DO j = nysg, nyng972 DO k = nzb_soil, nzt_soil973 t_soil_av(k,j,i) = t_soil_av(k,j,i) + t_soil(k,j,i)974 ENDDO975 ENDDO976 ENDDO977 978 781 CASE ( 'u' ) 979 782 DO i = nxlg, nxrg … … 1041 844 1042 845 CASE DEFAULT 846 ! 847 !-- Land surface quantity 848 IF ( land_surface ) THEN 849 CALL lsm_3d_data_averaging( 'sum', doav(ii) ) 850 ENDIF 851 1043 852 ! 1044 853 !-- User-defined quantity
Note: See TracChangeset
for help on using the changeset viewer.