Changeset 72 for palm/trunk/SOURCE


Ignore:
Timestamp:
Mar 19, 2007 8:20:46 AM (17 years ago)
Author:
raasch
Message:

preliminary changes for precipitation output

Location:
palm/trunk/SOURCE
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/CURRENT_MODIFICATIONS

    r63 r72  
    2222samples added to the user interface which show how to add user-define time series quantities.
    2323
     24calculation/output of precipitation amount, precipitation rate and z0 (by setting "pra*", "prr*", "z0*" with data_output). The time interval on which the precipitation amount is defined is set by new d3par-parameter precipitation_amount_interval
     25
    2426unit 9 opened for debug output (file DEBUG_<pe#>)
    2527
    26 Makefile, advec_particles, buoyancy, check_open, check_parameters, diffusion_e, diffusion_u, diffusion_v, diffusion_w, diffusivities, header, init_particles, init_3d_model, modules, netcdf, parin, production_e, read_var_list, user_interface, write_var_list
     28Makefile, advec_particles, average_3d_data, buoyancy, calc_precipitation, check_open, check_parameters, data_output_2d, diffusion_e, diffusion_u, diffusion_v, diffusion_w, diffusivities, header, impact_of_latent_heat, init_particles, init_3d_model, modules, netcdf, parin, production_e, read_var_list, read_3d_binary, sum_up_3d_data, user_interface, write_var_list, write_3d_binary
    2729
    2830New: wall_fluxes
     
    4446__vtk directives removed from main program.
    4547
     48The uitility routine interpret_config reads PALM environment variables from NAMELIST instead using the system call GETENV.
     49
    4650check_parameters, data_output_dvrp, data_output_ptseries, data_output_ts, flow_statistics, header, init_particles, init_3d_model, modules, palm, package_parin, parin, time_integration
    4751
     
    5458Bugfix in sample for reading user defined data from restart file (user_init)
    5559
     60Check for possible negative humidities in the initial humidity profile.
     61
    5662in Makefile, default suffixes removed from the suffix list to avoid calling of m2c in
    5763# case of .mod files
    5864
    5965Makefile
    60 init_1d_model, user_interface
     66check_parameters, init_1d_model, user_interface
  • palm/trunk/SOURCE/average_3d_data.f90

    r4 r72  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Averaging the precipitation rate and roughness length (prr*, z0*)
    77!
    88! Former revisions:
     
    9090             ENDDO
    9191
     92          CASE ( 'prr*' )
     93             DO  i = nxl-1, nxr+1
     94                DO  j = nys-1, nyn+1
     95                   precipitation_rate_av(j,i) = precipitation_rate_av(j,i) / &
     96                                                REAL( average_count_3d )
     97                ENDDO
     98             ENDDO
     99
    92100          CASE ( 'pt' )
    93101             DO  i = nxl-1, nxr+1
     
    213221             ENDDO
    214222
     223          CASE ( 'z0*' )
     224             DO  i = nxl-1, nxr+1
     225                DO  j = nys-1, nyn+1
     226                   z0_av(j,i) = z0_av(j,i) / REAL( average_count_3d )
     227                ENDDO
     228             ENDDO
     229
    215230          CASE DEFAULT
    216231!
  • palm/trunk/SOURCE/calc_precipitation.f90

    r39 r72  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Precipitation rate and amount are calculated/stored,
     7! + module control_parameters
    78!
    89! Former revisions:
     
    4849       USE cloud_parameters
    4950       USE constants
     51       USE control_parameters
    5052       USE indices
    5153
     
    5355
    5456       INTEGER ::  i, j, k
    55        REAL    :: precipitation_rate
     57       REAL    ::  dqdt_precip
    5658
     59
     60       precipitation_rate = 0.0
    5761 
    5862       DO  i = nxl, nxr
     
    6165
    6266                IF ( ql(k,j,i) > ql_crit )  THEN
    63                    precipitation_rate = prec_time_const * &
    64                                         ( ql(k,j,i) - ql_crit )
     67                   dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit )
    6568                ELSE
    66                    precipitation_rate = 0.0
     69                   dqdt_precip = 0.0
    6770                ENDIF
    68                 tend(k,j,i) = tend(k,j,i) - precipitation_rate
     71                tend(k,j,i) = tend(k,j,i) - dqdt_precip
     72!
     73!--             Precipitation rate in (kg * 0.001) / m**2 / s (because 1kg
     74!--             gives 1 mm)
     75                precipitation_rate(j,i) = precipitation_rate(j,i) + &
     76                                          dqdt_precip * dzw(k) * 0.001
    6977
    7078             ENDDO
     79!
     80!--          Sum up the precipitation amount (unit kg * 0.001 / m**2)
     81             IF ( intermediate_timestep_count ==         &
     82                  intermediate_timestep_count_max  .AND. &
     83                  ( dt_do2d_xy-time_do2d_xy ) < precipitation_amount_interval )&
     84             THEN
     85                precipitation_amount(j,i) = precipitation_amount(j,i) + &
     86                                            precipitation_rate(j,i) * dt_3d
     87             ENDIF
    7188          ENDDO
    7289       ENDDO
     
    83100       USE cloud_parameters
    84101       USE constants
     102       USE control_parameters
    85103       USE indices
    86104   
    87105       IMPLICIT NONE
    88106
    89        INTEGER :: i, j, k
    90        REAL    :: precipitation_rate
     107       INTEGER ::  i, j, k
     108       REAL    ::  dqdt_precip
    91109
    92110
     111       precipitation_rate(j,i) = 0.0
     112 
     113!
     114!--    Ghostpoints are included (although not needed for tend) to avoid a later
     115!--    exchange of these data for the precipitation amount/rate arrays
    93116       DO  k = nzb_2d(j,i)+1, nzt
    94117
    95118          IF ( ql(k,j,i) > ql_crit )  THEN
    96              precipitation_rate = prec_time_const * ( ql(k,j,i) - ql_crit )
     119             dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit )
    97120          ELSE
    98              precipitation_rate = 0.0
     121             dqdt_precip = 0.0
    99122          ENDIF
    100           tend(k,j,i) = tend(k,j,i) - precipitation_rate
     123          tend(k,j,i) = tend(k,j,i) - dqdt_precip
     124
     125!
     126!--       Precipitation rate in (kg * 0.001) / m**2 / s (because 1kg gives 1 mm)
     127!          precipitation_rate(j,i) = precipitation_rate(j,i) + dqdt_precip * &
     128!                                                              dzw(k) * 0.001
     129          precipitation_rate(j,i) = 1.0
    101130
    102131       ENDDO
     132
     133!
     134!--    Sum up the precipitation amount (unit kg * 0.001 / m**2)
     135       IF ( intermediate_timestep_count == intermediate_timestep_count_max     &
     136            .AND. ( dt_do2d_xy-time_do2d_xy ) < precipitation_amount_interval )&
     137       THEN
     138          precipitation_amount(j,i) = precipitation_amount(j,i) + &
     139                                      precipitation_rate(j,i) * dt_3d
     140       ENDIF
    103141
    104142    END SUBROUTINE calc_precipitation_ij
  • palm/trunk/SOURCE/check_parameters.f90

    r63 r72  
    66! "by_user" allowed as initializing action, -data_output_ts,
    77! leapfrog with non-flat topography not allowed any more, loop_optimization
    8 ! and pt_reference are checked
     8! and pt_reference are checked,
     9! output of precipitation amount/rate and roughnes length + check
     10! possible negative humidities are avoided in initial profile
    911!
    1012! Former revisions:
     
    351353
    352354    IF ( cloud_physics  .AND.  .NOT. moisture )  THEN
    353        IF ( myid == 0 )  PRINT*, '+++ check_parameters: moisture =', &
    354                                  moisture, ' is not allowed with ',  &
    355                                  'cloud_physics=', cloud_physics
     355       IF ( myid == 0 )  PRINT*, '+++ check_parameters: cloud_physics =', &
     356                                 cloud_physics, ' is not allowed with ',  &
     357                                 'moisture =', moisture
     358       CALL local_stop
     359    ENDIF
     360
     361    IF ( precipitation  .AND.  .NOT.  cloud_physics )  THEN
     362       IF ( myid == 0 )  PRINT*, '+++ check_parameters: precipitation =', &
     363                                 precipitation, ' is not allowed with ',  &
     364                                 'cloud_physics =', cloud_physics
    356365       CALL local_stop
    357366    ENDIF
     
    570579                q_init(k) = q_init(k-1)
    571580             ENDIF
     581!
     582!--          Avoid negative humidities
     583             IF ( q_init(k) < 0.0 )  THEN
     584                q_init(k) = 0.0
     585             ENDIF
    572586          ENDDO
    573587
     
    11631177
    11641178!
     1179!-- Set the default value for the integration interval of precipitation amount
     1180    IF ( precipitation )  THEN
     1181       IF ( precipitation_amount_interval == 9999999.9 )  THEN
     1182          precipitation_amount_interval = dt_do2d_xy
     1183       ELSE
     1184          IF ( precipitation_amount_interval > dt_do2d_xy )  THEN
     1185             IF ( myid == 0 )  PRINT*, '+++ check_parameters: ',              &
     1186                                       'precipitation_amount_interval =',     &
     1187                                        precipitation_amount_interval,        &
     1188                                       ' must not be larger than dt_do2d_xy', &
     1189                                       ' = ', dt_do2d_xy   
     1190       CALL local_stop
     1191          ENDIF
     1192       ENDIF
     1193    ENDIF
     1194
     1195!
    11651196!-- Determine the number of output profiles and check whether they are
    11661197!-- permissible
     
    18401871             unit = 'conc'
    18411872
    1842           CASE ( 'u*', 't*', 'lwp*' )
     1873          CASE ( 'u*', 't*', 'lwp*', 'pra*', 'prr*', 'z0*' )
    18431874             IF ( k == 0  .OR.  data_output(i)(ilen-2:ilen) /= '_xy' )  THEN
    18441875                IF ( myid == 0 )  THEN
     
    18561887                CALL local_stop
    18571888             ENDIF
     1889             IF ( TRIM( var ) == 'pra*'  .AND.  .NOT. precipitation )  THEN
     1890                IF ( myid == 0 )  THEN
     1891                   PRINT*, '+++ check_parameters: output of "', TRIM( var ), &
     1892                                '" requires precipitation = .TRUE.'
     1893                ENDIF
     1894                CALL local_stop
     1895             ENDIF
     1896             IF ( TRIM( var ) == 'pra*'  .AND.  j == 1 )  THEN
     1897                IF ( myid == 0 )  THEN
     1898                   PRINT*, '+++ check_parameters: temporal averaging of ', &
     1899                           ' precipitation amount "', TRIM( var ),         &
     1900                           '" not possible'
     1901                ENDIF
     1902                CALL local_stop
     1903             ENDIF
     1904             IF ( TRIM( var ) == 'prr*'  .AND.  .NOT. precipitation )  THEN
     1905                IF ( myid == 0 )  THEN
     1906                   PRINT*, '+++ check_parameters: output of "', TRIM( var ), &
     1907                                '" requires precipitation = .TRUE.'
     1908                ENDIF
     1909                CALL local_stop
     1910             ENDIF
     1911
     1912
    18581913             IF ( TRIM( var ) == 'u*'   )  unit = 'm/s'
    18591914             IF ( TRIM( var ) == 't*'   )  unit = 'K'
    18601915             IF ( TRIM( var ) == 'lwp*' )  unit = 'kg/kg*m'
     1916             IF ( TRIM( var ) == 'pra*' )  unit = 'mm'
     1917             IF ( TRIM( var ) == 'prr*' )  unit = 'mm/s'
     1918             IF ( TRIM( var ) == 'z0*'  )  unit = 'm'
    18611919
    18621920          CASE ( 'p', 'pt', 'u', 'v', 'w' )
  • palm/trunk/SOURCE/data_output_2d.f90

    r4 r72  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Output of precipitation amount/rate and roughness length
    77!
    88! Former revisions:
     
    257257                ENDIF
    258258
     259             CASE ( 'pra*_xy' )        ! 2d-array / integral quantity => no av
     260                CALL exchange_horiz_2d( precipitation_amount )
     261                DO  i = nxl-1, nxr+1
     262                   DO  j = nys-1, nyn+1
     263                      local_pf(i,j,nzb+1) =  precipitation_amount(j,i)
     264                   ENDDO
     265                ENDDO
     266                precipitation_amount = 0.0   ! reset for next integ. interval
     267                resorted = .TRUE.
     268                two_d = .TRUE.
     269                level_z(nzb+1) = zu(nzb+1)
     270
     271             CASE ( 'prr*_xy' )        ! 2d-array
     272                IF ( av == 0 )  THEN
     273                   CALL exchange_horiz_2d( precipitation_rate )
     274                   DO  i = nxl-1, nxr+1
     275                      DO  j = nys-1, nyn+1
     276                         local_pf(i,j,nzb+1) =  precipitation_rate(j,i)
     277                      ENDDO
     278                   ENDDO
     279                ELSE
     280                   CALL exchange_horiz_2d( precipitation_rate_av )
     281                   DO  i = nxl-1, nxr+1
     282                      DO  j = nys-1, nyn+1
     283                         local_pf(i,j,nzb+1) =  precipitation_rate_av(j,i)
     284                      ENDDO
     285                   ENDDO
     286                ENDIF
     287                resorted = .TRUE.
     288                two_d = .TRUE.
     289                level_z(nzb+1) = zu(nzb+1)
     290
    259291             CASE ( 'pt_xy', 'pt_xz', 'pt_yz' )
    260292                IF ( av == 0 )  THEN
     
    419451                ENDIF
    420452                IF ( mode == 'xy' )  level_z = zw
     453
     454             CASE ( 'z0*_xy' )        ! 2d-array
     455                IF ( av == 0 ) THEN
     456                   DO  i = nxl-1, nxr+1
     457                      DO  j = nys-1, nyn+1
     458                         local_pf(i,j,nzb+1) =  z0(j,i)
     459                      ENDDO
     460                   ENDDO
     461                ELSE
     462                   DO  i = nxl-1, nxr+1
     463                      DO  j = nys-1, nyn+1
     464                         local_pf(i,j,nzb+1) =  z0_av(j,i)
     465                      ENDDO
     466                   ENDDO
     467                ENDIF
     468                resorted = .TRUE.
     469                two_d = .TRUE.
     470                level_z(nzb+1) = zu(nzb+1)
    421471
    422472             CASE DEFAULT
  • palm/trunk/SOURCE/impact_of_latent_heat.f90

    r39 r72  
    44! Actual revisions:
    55! -----------------
    6 !
     6! precipitation_rate renamed dqdt_precip
    77!
    88! Former revisions:
     
    5252
    5353       INTEGER ::  i, j, k
    54        REAL    :: precipitation_rate
     54       REAL    ::  dqdt_precip
    5555
    5656 
     
    6060
    6161                IF ( ql(k,j,i) > ql_crit )  THEN
    62                    precipitation_rate = prec_time_const * &
    63                                         ( ql(k,j,i) - ql_crit )
     62                   dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit )
    6463                ELSE
    65                    precipitation_rate = 0.0
     64                   dqdt_precip = 0.0
    6665                ENDIF
    67                 tend(k,j,i) = tend(k,j,i) + precipitation_rate * l_d_cp * &
    68                                             pt_d_t(k)
     66                tend(k,j,i) = tend(k,j,i) + dqdt_precip * l_d_cp * pt_d_t(k)
    6967
    7068             ENDDO
     
    8785       IMPLICIT NONE
    8886
    89        INTEGER :: i, j, k
    90        REAL    :: precipitation_rate
     87       INTEGER ::  i, j, k
     88       REAL    ::  dqdt_precip
    9189
    9290
     
    9492
    9593          IF ( ql(k,j,i) > ql_crit )  THEN
    96              precipitation_rate = prec_time_const * ( ql(k,j,i) - ql_crit )
     94             dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit )
    9795          ELSE
    98              precipitation_rate = 0.0
     96             dqdt_precip = 0.0
    9997          ENDIF
    100           tend(k,j,i) = tend(k,j,i) + precipitation_rate * l_d_cp * pt_d_t(k)
     98          tend(k,j,i) = tend(k,j,i) + dqdt_precip * l_d_cp * pt_d_t(k)
    10199
    102100       ENDDO
  • palm/trunk/SOURCE/init_3d_model.f90

    r63 r72  
    88! -----------------
    99! New initializing action "by_user" calls user_init_3d_model,
    10 ! ts_value is allocated, +module netcdf_control,
     10! precipitation_amount/rate, ts_value are allocated, +module netcdf_control,
    1111! initial velocities at nzb+1 are regarded for volume
    1212! flow control in case they have been set zero before (to avoid small timesteps)
     
    4040    USE arrays_3d
    4141    USE averaging
     42    USE cloud_parameters
    4243    USE constants
    4344    USE control_parameters
     
    157158!--          Liquid water content
    158159             ALLOCATE ( ql_1(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
     160!
     161!--          Precipitation amount and rate (only needed if output is switched)
     162             ALLOCATE( precipitation_amount(nys-1:nyn+1,nxl-1:nxr+1), &
     163                       precipitation_rate(nys-1:nyn+1,nxl-1:nxr+1) )
    159164          ENDIF
    160165
     
    642647
    643648!
    644 !--    Treating cloud physics, liquid water content is zero at beginning of
    645 !--    the simulation
    646        IF ( cloud_physics )  ql = 0.0
     649!--    Treating cloud physics, liquid water content and precipitation amount
     650!--    are zero at beginning of the simulation
     651       IF ( cloud_physics )  THEN
     652          ql = 0.0
     653          IF ( precipitation )  precipitation_amount = 0.0
     654       ENDIF
    647655
    648656!
  • palm/trunk/SOURCE/modules.f90

    r63 r72  
    55! Actual revisions:
    66! -----------------
    7 ! +array rif_wall
     7! +arrays precipitation_amount, precipitation_rate, precipitation_rate_av,
     8! rif_wall, z0_av
    89! +loop_optimization, netcdf_64bit_3d, zu_s_inner, zw_w_inner, id_var_zusi_*,
    910! id_var_zwwi_*, ts_value, u_nzb_p1_for_vfc, v_nzb_p1_for_vfc, pt_reference,
    10 ! use_pt_reference,
     11! use_pt_reference, precipitation_amount_interval
    1112! +age_m in particle_type
    1213! -data_output_ts, dots_n
     
    128129!------------------------------------------------------------------------------!
    129130
    130     REAL, DIMENSION(:,:), ALLOCATABLE ::  lwp_av, ts_av, us_av
     131    REAL, DIMENSION(:,:), ALLOCATABLE ::  lwp_av, precipitation_rate_av, &
     132                                          ts_av, us_av, z0_av
    131133
    132134    REAL, DIMENSION(:,:,:), ALLOCATABLE, TARGET :: &
     
    156158    REAL, DIMENSION(:), ALLOCATABLE :: hydro_press, pt_d_t, t_d_pt
    157159
     160    REAL, DIMENSION(:,:), ALLOCATABLE ::  precipitation_amount, &
     161                                          precipitation_rate
     162
    158163    SAVE
    159164
     
    211216    CHARACTER (LEN=8)   ::  run_date, run_time
    212217    CHARACTER (LEN=9)   ::  simulated_time_chr
    213     CHARACTER (LEN=12)  ::  version = 'PALM   3.1c'
     218    CHARACTER (LEN=12)  ::  version = 'PALM   3.2'
    214219    CHARACTER (LEN=16)  ::  loop_optimization = 'default', &
    215220                            momentum_advec = 'pw-scheme', &
     
    333338             overshoot_limit_u = 0.0, overshoot_limit_v = 0.0, &
    334339             overshoot_limit_w = 0.0, particle_maximum_age = 9999999.9, &
    335              phi = 55.0, prandtl_number = 1.0, pt_reference = 9999999.9, &
     340             phi = 55.0, prandtl_number = 1.0, &
     341             precipitation_amount_interval = 9999999.9, &
     342             pt_reference = 9999999.9, &
    336343             pt_slope_offset = 0.0, pt_surface = 300.0, &
    337344             pt_surface_initial_change = 0.0, q_surface = 0.0, &
  • palm/trunk/SOURCE/parin.f90

    r63 r72  
    44! Actual revisions:
    55! -----------------
    6 ! +dt_max, netcdf_64bit_3d in d3par, +loop_optimization, pt_reference in
    7 ! inipar, -data_output_ts
     6! +dt_max, netcdf_64bit_3d, precipitation_amount_interval in d3par,
     7! +loop_optimization, pt_reference in inipar, -data_output_ts
    88!
    99! Former revisions:
     
    105105                       mg_switch_to_pe0_level, netcdf_64bit, netcdf_64bit_3d, &
    106106                       ngsrb, normalizing_region, nsor, nz_do3d, omega_sor, &
    107                        prandtl_number, profile_columns, profile_rows, psolver, &
     107                       prandtl_number, precipitation_amount_interval, &
     108                       profile_columns, profile_rows, psolver, &
    108109                       rayleigh_damping_factor, rayleigh_damping_height, &
    109110                       residual_limit, restart_time, section_xy, section_xz, &
  • palm/trunk/SOURCE/production_e.f90

    r57 r72  
    910910!--                of the eddy diffusivity by km = u* * kappa * zp / phi_m.
    911911          !$OMP PARALLEL DO PRIVATE( ku, kv )
    912           DO  i = nxl, nxr
    913              DO  j = nys, nyn
     912          DO  i = nxl, nxr+1
     913             DO  j = nys, nyn+1
    914914
    915915                ku = nzb_u_inner(j,i)+1
  • palm/trunk/SOURCE/read_3d_binary.f90

    r51 r72  
    44! Actual revisions:
    55! -----------------
    6 ! +rif_wall
     6! +precipitation_amount, precipitation_rate_av, rif_wall, z0_av
    77!
    88! Former revisions:
     
    2929    USE arrays_3d
    3030    USE averaging
     31    USE cloud_parameters
    3132    USE control_parameters
    3233    USE cpulog
     
    219220             ALLOCATE( pr_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
    220221             READ ( 13 )  pr_av
     222          CASE ( 'precipitation_amount' )
     223             READ ( 13 )  precipitation_amount
     224          CASE ( 'precipitation_rate_a' )
     225             ALLOCATE( precipitation_rate_av(nys-1:nyn+1,nxl-1:nxr+1) )
     226             READ ( 13 )  precipitation_rate_av
    221227          CASE ( 'pt' )
    222228             READ ( 13 )  pt
     
    336342          CASE ( 'z0' )
    337343             READ ( 13 )  z0
     344          CASE ( 'z0_av' )
     345             ALLOCATE( z0_av(nys-1:nyn+1,nxl-1:nxr+1) )
     346             READ ( 13 )  z0_av
    338347
    339348          CASE ( 'cross_linecolors' )
  • palm/trunk/SOURCE/sum_up_3d_data.f90

    r4 r72  
    44! Actual revisions:
    55! -----------------
    6 !
     6! +sum-up of precipitation rate and roughness length (prr*, z0*)
    77!
    88! Former revisions:
     
    8080                pr_av = 0.0
    8181
     82             CASE ( 'prr*' )
     83                IF ( .NOT. ALLOCATED( precipitation_rate_av ) )  THEN
     84                   ALLOCATE( precipitation_rate_av(nys-1:nyn+1,nxl-1:nxr+1) )
     85                ENDIF
     86                precipitation_rate_av = 0.0
     87
    8288             CASE ( 'pt' )
    8389                IF ( .NOT. ALLOCATED( pt_av ) )  THEN
     
    163169                ENDIF
    164170                w_av = 0.0
     171
     172             CASE ( 'z0*' )
     173                IF ( .NOT. ALLOCATED( z0_av ) )  THEN
     174                   ALLOCATE( z0_av(nys-1:nyn+1,nxl-1:nxr+1) )
     175                ENDIF
     176                z0_av = 0.0
    165177
    166178             CASE DEFAULT
     
    239251             ENDDO
    240252
     253          CASE ( 'pr*' )
     254             DO  i = nxl-1, nxr+1
     255                DO  j = nys-1, nyn+1
     256                   precipitation_rate_av(j,i) = precipitation_rate_av(j,i) + &
     257                                                precipitation_rate(j,i)
     258                ENDDO
     259             ENDDO
     260
    241261          CASE ( 'pt' )
    242262             IF ( .NOT. cloud_physics ) THEN
     
    372392             ENDDO
    373393
     394          CASE ( 'z0*' )
     395             DO  i = nxl-1, nxr+1
     396                DO  j = nys-1, nyn+1
     397                   z0_av(j,i) = z0_av(j,i) + z0(j,i)
     398                ENDDO
     399             ENDDO
     400
    374401          CASE DEFAULT
    375402!
  • palm/trunk/SOURCE/write_3d_binary.f90

    r51 r72  
    44! Actual revisions:
    55! -----------------
    6 ! +rif_wall
     6! +precipitation_amount, precipitation_rate_av, rif_wall, z0_av
    77!
    88! Former revisions:
     
    2929    USE arrays_3d
    3030    USE averaging
     31    USE cloud_parameters
    3132    USE control_parameters
    3233    USE cpulog
     
    9394       WRITE ( 14 )  'pr_av               ';  WRITE ( 14 )  pr_av
    9495    ENDIF
     96    IF ( ALLOCATED( precipitation_amount ) )  THEN
     97       WRITE ( 14 )  'precipitation_amount';  WRITE ( 14 )  precipitation_amount
     98    ENDIF
     99    IF ( ALLOCATED( precipitation_rate_av ) )  THEN
     100       WRITE ( 14 )  'precipitation_rate_a';  WRITE ( 14 )  &
     101                                                           precipitation_rate_av
     102    ENDIF
    95103    WRITE ( 14 )  'pt                  ';  WRITE ( 14 )  pt
    96104    IF ( ALLOCATED( pt_av ) )  THEN
     
    195203    WRITE ( 14 )  'w_m                 ';  WRITE ( 14 )  w_m
    196204    WRITE ( 14 )  'z0                  ';  WRITE ( 14 )  z0
     205    IF ( ALLOCATED( z0_av ) )  THEN
     206       WRITE ( 14 )  'z0_av               ';  WRITE ( 14 )  z0_av
     207    ENDIF
    197208
    198209    WRITE ( 14 )  'cross_linecolors    ';  WRITE ( 14 )  cross_linecolors
Note: See TracChangeset for help on using the changeset viewer.