Ignore:
Timestamp:
May 9, 2018 8:42:38 AM (3 years ago)
Author:
maronga
Message:

series of bugfixes

File:
1 edited

Legend:

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

    r3004 r3014  
    2525! -----------------
    2626! $Id$
     27! Bugfix: nzb_do and nzt_do were not used for 3d data output
     28!
     29! 3004 2018-04-27 12:33:25Z Giersch
    2730! Further allocation checks implemented
    2831!
     
    626629    REAL(wp) ::  fill_value = -999.0_wp  !< value for the _FillValue attribute
    627630
    628     REAL(wp), DIMENSION(nxl:nxr,nys:nyn,nzb:nzt+1) ::  local_pf !< local
     631    REAL(wp), DIMENSION(nxl:nxr,nys:nyn,nzb_do:nzt_do) ::  local_pf !< local
    629632       !< array to which output data is resorted to
    630633
     
    723726!> Define 3D output variables.
    724727!------------------------------------------------------------------------------!
    725  SUBROUTINE tcm_data_output_3d( av, variable, found, local_pf )
     728 SUBROUTINE tcm_data_output_3d( av, variable, found, local_pf, nzb_do, nzt_do )
    726729 
    727730
     
    733736    CHARACTER (LEN=*) ::  variable   !<
    734737
    735     INTEGER(iwp) ::  av   !<
    736     INTEGER(iwp) ::  i    !<
    737     INTEGER(iwp) ::  j    !<
    738     INTEGER(iwp) ::  k    !<
     738    INTEGER(iwp) ::  av     !<
     739    INTEGER(iwp) ::  i      !<
     740    INTEGER(iwp) ::  j      !<
     741    INTEGER(iwp) ::  k      !<
     742    INTEGER(iwp) ::  nzb_do !< lower limit of the data output (usually 0)
     743    INTEGER(iwp) ::  nzt_do !< vertical upper limit of the data output (usually nz_do3d)
    739744
    740745    LOGICAL ::  found   !<
     
    742747    REAL(wp) ::  fill_value = -999.0_wp  !< value for the _FillValue attribute
    743748
    744     REAL(sp), DIMENSION(nxl:nxr,nys:nyn,nzb:nzt+1) ::  local_pf   !< local
     749    REAL(sp), DIMENSION(nxl:nxr,nys:nyn,nzb_do:nzt_do) ::  local_pf   !< local
    745750       !< array to which output data is resorted to
    746751
     
    756761             DO  i = nxl, nxr
    757762                DO  j = nys, nyn
    758                    DO  k = nzb, nzt+1
     763                   DO  k = nzb_do, nzt_do
    759764                      local_pf(i,j,k) = diss(k,j,i)
    760765                   ENDDO
     
    768773             DO  i = nxl, nxr
    769774                DO  j = nys, nyn
    770                    DO  k = nzb, nzt+1
     775                   DO  k = nzb_do, nzt_do
    771776                      local_pf(i,j,k) = diss_av(k,j,i)
    772777                   ENDDO
     
    779784             DO  i = nxl, nxr
    780785                DO  j = nys, nyn
    781                    DO  k = nzb, nzt+1
     786                   DO  k = nzb_do, nzt_do
    782787                      local_pf(i,j,k) = kh(k,j,i)
    783788                   ENDDO
     
    791796             DO  i = nxl, nxr
    792797                DO  j = nys, nyn
    793                    DO  k = nzb, nzt+1
     798                   DO  k = nzb_do, nzt_do
    794799                      local_pf(i,j,k) = kh_av(k,j,i)
    795800                   ENDDO
     
    802807             DO  i = nxl, nxr
    803808                DO  j = nys, nyn
    804                    DO  k = nzb, nzt+1
     809                   DO  k = nzb_do, nzt_do
    805810                      local_pf(i,j,k) = km(k,j,i)
    806811                   ENDDO
     
    814819             DO  i = nxl, nxr
    815820                DO  j = nys, nyn
    816                    DO  k = nzb, nzt+1
     821                   DO  k = nzb_do, nzt_do
    817822                      local_pf(i,j,k) = km_av(k,j,i)
    818823                   ENDDO
     
    825830             DO  i = nxl, nxr
    826831                DO  j = nys, nyn
    827                    DO  k = nzb, nzt+1
     832                   DO  k = nzb_do, nzt_do
    828833                      local_pf(i,j,k) = dummy1(k,j,i)
    829834                   ENDDO
     
    836841             DO  i = nxl, nxr
    837842                DO  j = nys, nyn
    838                    DO  k = nzb, nzt+1
     843                   DO  k = nzb_do, nzt_do
    839844                      local_pf(i,j,k) = dummy2(k,j,i)
    840845                   ENDDO
     
    847852             DO  i = nxl, nxr
    848853                DO  j = nys, nyn
    849                    DO  k = nzb, nzt+1
     854                   DO  k = nzb_do, nzt_do
    850855                      local_pf(i,j,k) = dummy3(k,j,i)
    851856                   ENDDO
Note: See TracChangeset for help on using the changeset viewer.