Ignore:
Timestamp:
Apr 7, 2016 7:49:42 AM (5 years ago)
Author:
hoffmann
Message:

changes in LPM and bulk cloud microphysics

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/data_output_2d.f90

    r1818 r1822  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! Output of bulk cloud physics simplified.
    2222!
    2323! Former revisions:
     
    146146               do2d_xz_last_time, do2d_xz_n, do2d_xz_time_count,               &
    147147               do2d_yz_last_time, do2d_yz_n, do2d_yz_time_count,               &
    148                ibc_uv_b, icloud_scheme, io_blocks, io_group,                   &
    149                message_string,                             &
    150                ntdim_2d_xy, ntdim_2d_xz, ntdim_2d_yz, psolver, section,        &
    151                simulated_time,  simulated_time_chr, time_since_reference_point
     148               ibc_uv_b, io_blocks, io_group, message_string,                  &
     149               ntdim_2d_xy, ntdim_2d_xz, ntdim_2d_yz,                          &
     150               psolver, section, simulated_time, simulated_time_chr,           &
     151               time_since_reference_point
    152152       
    153153    USE cpulog,                                                                &
     
    683683
    684684             CASE ( 'prr*_xy' )        ! 2d-array
    685                 IF ( icloud_scheme == 1 )  THEN
    686                    IF ( av == 0 )  THEN
    687                       CALL exchange_horiz_2d( precipitation_rate )
    688                       DO  i = nxlg, nxrg
    689                          DO  j = nysg, nyng
    690                             local_pf(i,j,nzb+1) =  precipitation_rate(j,i)
     685                IF ( av == 0 )  THEN
     686                   CALL exchange_horiz_2d( prr(nzb+1,:,:) )
     687                   DO  i = nxlg, nxrg
     688                      DO  j = nysg, nyng
     689                         local_pf(i,j,nzb+1) = prr(nzb+1,j,i) * hyrho(nzb+1)
     690                      ENDDO
     691                   ENDDO
     692                ELSE
     693                   CALL exchange_horiz_2d( prr_av(nzb+1,:,:) )
     694                   DO  i = nxlg, nxrg
     695                      DO  j = nysg, nyng
     696                         local_pf(i,j,nzb+1) = prr_av(nzb+1,j,i) * hyrho(nzb+1)
     697                      ENDDO
     698                   ENDDO
     699                ENDIF
     700                resorted = .TRUE.
     701                two_d = .TRUE.
     702                level_z(nzb+1) = zu(nzb+1)
     703
     704             CASE ( 'prr_xy', 'prr_xz', 'prr_yz' )
     705                IF ( av == 0 )  THEN
     706                   CALL exchange_horiz( prr, nbgp )
     707                   DO  i = nxlg, nxrg
     708                      DO  j = nysg, nyng
     709                         DO  k = nzb, nzt+1
     710                            local_pf(i,j,k) = prr(k,j,i) * hyrho(nzb+1)
    691711                         ENDDO
    692712                      ENDDO
    693                    ELSE
    694                       CALL exchange_horiz_2d( precipitation_rate_av )
    695                       DO  i = nxlg, nxrg
    696                          DO  j = nysg, nyng
    697                             local_pf(i,j,nzb+1) =  precipitation_rate_av(j,i)
    698                          ENDDO
    699                       ENDDO
    700                    ENDIF
    701                 ELSE
    702                    IF ( av == 0 )  THEN
    703                       CALL exchange_horiz_2d( prr(nzb+1,:,:) )
    704                       DO  i = nxlg, nxrg
    705                          DO  j = nysg, nyng
    706                             local_pf(i,j,nzb+1) = prr(nzb+1,j,i) * hyrho(nzb+1)
    707                          ENDDO
    708                       ENDDO
    709                    ELSE
    710                       CALL exchange_horiz_2d( prr_av(nzb+1,:,:) )
    711                       DO  i = nxlg, nxrg
    712                          DO  j = nysg, nyng
    713                             local_pf(i,j,nzb+1) = prr_av(nzb+1,j,i) *          &
    714                                                   hyrho(nzb+1)
    715                          ENDDO
    716                       ENDDO
    717                    ENDIF
    718                 ENDIF
    719                 resorted = .TRUE.
    720                 two_d = .TRUE.
    721                 level_z(nzb+1) = zu(nzb+1)
    722 
    723              CASE ( 'prr_xy', 'prr_xz', 'prr_yz' )
    724                 IF ( av == 0 )  THEN
    725                    CALL exchange_horiz( prr, nbgp )
     713                   ENDDO
     714                ELSE
     715                   CALL exchange_horiz( prr_av, nbgp )
    726716                   DO  i = nxlg, nxrg
    727717                      DO  j = nysg, nyng
    728718                         DO  k = nzb, nzt+1
    729                             local_pf(i,j,k) = prr(k,j,i)
    730                          ENDDO
    731                       ENDDO
    732                    ENDDO
    733                 ELSE
    734                    CALL exchange_horiz( prr_av, nbgp )
    735                    DO  i = nxlg, nxrg
    736                       DO  j = nysg, nyng
    737                          DO  k = nzb, nzt+1
    738                             local_pf(i,j,k) = prr_av(k,j,i)
     719                            local_pf(i,j,k) = prr_av(k,j,i) * hyrho(nzb+1)
    739720                         ENDDO
    740721                      ENDDO
Note: See TracChangeset for help on using the changeset viewer.