Changeset 3274 for palm/trunk/SOURCE/data_output_3d.f90
- Timestamp:
- Sep 24, 2018 3:42:55 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/data_output_3d.f90
r3241 r3274 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Modularization of all bulk cloud physics code components 28 ! 29 ! 3241 2018-09-12 15:02:00Z raasch 27 30 ! unused variables and format statements removed 28 31 ! … … 206 209 USE arrays_3d, & 207 210 ONLY: e, nc, nr, p, pt, prr, q, qc, ql, ql_c, ql_v, qr, rho_ocean, s, & 208 sa, tend, u, v, vpt, w 209 211 sa, tend, u, v, vpt, w, d_exner 212 210 213 USE averaging 211 214 215 USE basic_constants_and_equations_mod, & 216 ONLY: lv_d_cp 217 218 USE bulk_cloud_model_mod, & 219 ONLY: bulk_cloud_model, bcm_data_output_3d 220 212 221 USE chemistry_model_mod, & 213 222 ONLY: chem_data_output_3d 214 223 215 USE cloud_parameters, &216 ONLY: l_d_cp, pt_d_t217 218 224 USE control_parameters, & 219 ONLY: air_chemistry, cloud_physics, do3d, do3d_no, do3d_time_count,&225 ONLY: air_chemistry, do3d, do3d_no, do3d_time_count, & 220 226 io_blocks, io_group, land_surface, message_string, & 221 227 ntdim_3d, nz_do3d, plant_canopy, & 222 228 psolver, simulated_time, time_since_reference_point, & 223 229 urban_surface, varnamelength 224 230 225 231 USE cpulog, & 226 232 ONLY: log_point, cpu_log … … 228 234 USE gust_mod, & 229 235 ONLY: gust_data_output_3d, gust_module_enabled 230 236 231 237 USE indices, & 232 238 ONLY: nbgp, nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt, & 233 239 wall_flags_0 234 240 235 241 USE kinds 236 242 237 243 USE land_surface_model_mod, & 238 244 ONLY: lsm_data_output_3d, nzb_soil, nzt_soil … … 399 405 ENDIF 400 406 to_be_resorted => lpt_av 401 ENDIF402 403 CASE ( 'nc' )404 IF ( av == 0 ) THEN405 to_be_resorted => nc406 ELSE407 IF ( .NOT. ALLOCATED( nc_av ) ) THEN408 ALLOCATE( nc_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )409 nc_av = REAL( fill_value, KIND = wp )410 ENDIF411 to_be_resorted => nc_av412 ENDIF413 414 CASE ( 'nr' )415 IF ( av == 0 ) THEN416 to_be_resorted => nr417 ELSE418 IF ( .NOT. ALLOCATED( nr_av ) ) THEN419 ALLOCATE( nr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )420 nr_av = REAL( fill_value, KIND = wp )421 ENDIF422 to_be_resorted => nr_av423 407 ENDIF 424 408 … … 506 490 ENDIF 507 491 508 CASE ( 'prr' )509 IF ( av == 0 ) THEN510 DO i = nxl, nxr511 DO j = nys, nyn512 DO k = nzb_do, nzt_do513 local_pf(i,j,k) = prr(k,j,i)514 ENDDO515 ENDDO516 ENDDO517 ELSE518 IF ( .NOT. ALLOCATED( prr_av ) ) THEN519 ALLOCATE( prr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )520 prr_av = REAL( fill_value, KIND = wp )521 ENDIF522 DO i = nxl, nxr523 DO j = nys, nyn524 DO k = nzb_do, nzt_do525 local_pf(i,j,k) = prr_av(k,j,i)526 ENDDO527 ENDDO528 ENDDO529 ENDIF530 resorted = .TRUE.531 532 492 CASE ( 'pt' ) 533 493 IF ( av == 0 ) THEN 534 IF ( .NOT. cloud_physics) THEN494 IF ( .NOT. bulk_cloud_model ) THEN 535 495 to_be_resorted => pt 536 496 ELSE … … 538 498 DO j = nys, nyn 539 499 DO k = nzb_do, nzt_do 540 local_pf(i,j,k) = pt(k,j,i) + l _d_cp *&541 pt_d_t(k) *&500 local_pf(i,j,k) = pt(k,j,i) + lv_d_cp * & 501 d_exner(k) * & 542 502 ql(k,j,i) 543 503 ENDDO … … 563 523 ENDIF 564 524 to_be_resorted => q_av 565 ENDIF566 567 CASE ( 'qc' )568 IF ( av == 0 ) THEN569 to_be_resorted => qc570 ELSE571 IF ( .NOT. ALLOCATED( qc_av ) ) THEN572 ALLOCATE( qc_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )573 qc_av = REAL( fill_value, KIND = wp )574 ENDIF575 to_be_resorted => qc_av576 525 ENDIF 577 526 … … 647 596 ENDIF 648 597 649 CASE ( 'qr' )650 IF ( av == 0 ) THEN651 to_be_resorted => qr652 ELSE653 IF ( .NOT. ALLOCATED( qr_av ) ) THEN654 ALLOCATE( qr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )655 qr_av = REAL( fill_value, KIND = wp )656 ENDIF657 to_be_resorted => qr_av658 ENDIF659 660 598 CASE ( 'qv' ) 661 599 IF ( av == 0 ) THEN … … 758 696 !-- Block of urban surface model outputs 759 697 CASE ( 'usm_output' ) 760 CALL usm_data_output_3d( av, do3d(av,if), found, local_pf, &698 CALL usm_data_output_3d( av, do3d(av,if), found, local_pf, & 761 699 nzb_do, nzt_do ) 762 700 763 701 CASE DEFAULT 764 702 703 IF ( .NOT. found ) THEN 704 CALL tcm_data_output_3d( av, do3d(av,if), found, local_pf, & 705 nzb_do, nzt_do ) 706 resorted = .TRUE. 707 ENDIF 708 709 ! 710 !-- Microphysic module quantities 711 IF ( .NOT. found .AND. bulk_cloud_model ) THEN 712 CALL bcm_data_output_3d( av, do3d(av,if), found, local_pf, & 713 nzb_do, nzt_do ) 714 resorted = .TRUE. 715 ENDIF 716 765 717 ! 766 718 !-- Land surface quantity 767 IF ( land_surface ) THEN719 IF ( .NOT. found .AND. land_surface ) THEN 768 720 ! 769 721 !-- For soil model quantities, it is required to re-allocate local_pf … … 788 740 ENDIF 789 741 790 ENDIF791 792 IF ( .NOT. found ) THEN793 CALL tcm_data_output_3d( av, do3d(av,if), found, local_pf, &794 nzb_do, nzt_do )795 resorted = .TRUE.796 742 ENDIF 797 743
Note: See TracChangeset
for help on using the changeset viewer.