Changeset 785


Ignore:
Timestamp:
Nov 28, 2011 9:47:19 AM (10 years ago)
Author:
raasch
Message:

scalar quantities can be excluded from Rayleigh damping; bugfix for long lines in configuration file with more than 300 characters

Location:
palm/trunk
Files:
5 edited

Legend:

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

    r768 r785  
    77! Current revisions:
    88! ------------------
    9 !
     9! initialization of rdf_sc
    1010!
    1111! Former revisions:
     
    184184              sums_divnew_l(0:statistic_regions),                           &
    185185              sums_divold_l(0:statistic_regions) )
    186     ALLOCATE( dp_smooth_factor(nzb:nzt), rdf(nzb+1:nzt) )
     186    ALLOCATE( dp_smooth_factor(nzb:nzt), rdf(nzb+1:nzt), rdf_sc(nzb+1:nzt) )
    187187    ALLOCATE( ngp_2dh_outer(nzb:nzt+1,0:statistic_regions),                 &
    188188              ngp_2dh_outer_l(nzb:nzt+1,0:statistic_regions),               &
     
    14711471!
    14721472!-- Initialize Rayleigh damping factors
    1473     rdf = 0.0
     1473    rdf    = 0.0
     1474    rdf_sc = 0.0
    14741475    IF ( rayleigh_damping_factor /= 0.0 )  THEN
    14751476       IF ( .NOT. ocean )  THEN
     
    14931494       ENDIF
    14941495    ENDIF
     1496    IF ( scalar_rayleigh_damping )  rdf_sc = rdf
    14951497
    14961498!
  • palm/trunk/SOURCE/modules.f90

    r779 r785  
    55! Current revisions:
    66! -----------------
    7 !
     7! +scalar_rayleigh_damping, rdf_sc
    88!
    99! Former revisions:
     
    264264    REAL, DIMENSION(:), ALLOCATABLE ::                                         &
    265265          ddzu, ddzu_pres, dd2zu, dzu, ddzw, dzw, hyp, inflow_damping_factor,  &
    266           km_damp_x, km_damp_y, lad, l_grid, pt_init, q_init, rdf, sa_init,    &
    267           ug, u_init, u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, w_subs, &
    268           zu, zw
     266          km_damp_x, km_damp_y, lad, l_grid, pt_init, q_init, rdf, rdf_sc,     &
     267          sa_init, ug, u_init, u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, &
     268          w_subs, zu, zw
    269269
    270270    REAL, DIMENSION(:,:), ALLOCATABLE ::                                       &
     
    538538                outflow_l = .FALSE., outflow_n = .FALSE., outflow_r = .FALSE., &
    539539                outflow_s = .FALSE., passive_scalar = .FALSE., &
    540                 plant_canopy = .FALSE., &
    541                 prandtl_layer = .TRUE., precipitation = .FALSE., &
    542                 profil_output = .FALSE., radiation = .FALSE., &
    543                 random_heatflux = .FALSE., run_control_header = .FALSE., &
    544                 run_coupled = .TRUE., sloping_surface = .FALSE., &
     540                plant_canopy = .FALSE., prandtl_layer = .TRUE., &
     541                precipitation = .FALSE., profil_output = .FALSE., &
     542                radiation = .FALSE., random_heatflux = .FALSE., &
     543                run_control_header = .FALSE., run_coupled = .TRUE., &
     544                scalar_rayleigh_damping = .TRUE., sloping_surface = .FALSE., &
    545545                stop_dt = .FALSE., synchronous_exchange = .FALSE., &
    546546                terminate_run = .FALSE., turbulent_inflow = .FALSE., &
  • palm/trunk/SOURCE/parin.f90

    r768 r785  
    44! Current revisions:
    55! -----------------
    6 !
     6! +scalar_rayleigh_damping
    77!
    88! Former revisions:
     
    161161             rif_max, rif_min, roughness_length, sa_surface, &
    162162             sa_vertical_gradient, sa_vertical_gradient_level, scalar_advec, &
    163              scalar_exchange_coefficient, statistic_regions, &
    164              subs_vertical_gradient, subs_vertical_gradient_level, &
    165              surface_heatflux, surface_pressure, surface_scalarflux, &
    166              surface_waterflux, s_surface, s_surface_initial_change, &
    167              s_vertical_gradient, s_vertical_gradient_level, timestep_scheme, &
     163             scalar_exchange_coefficient, scalar_rayleigh_damping, &
     164             statistic_regions, subs_vertical_gradient, &
     165             subs_vertical_gradient_level, surface_heatflux, surface_pressure, &
     166             surface_scalarflux, surface_waterflux, s_surface, &
     167             s_surface_initial_change, s_vertical_gradient, &
     168             s_vertical_gradient_level, timestep_scheme, &
    168169             topography, topography_grid_convention, top_heatflux, &
    169170             top_momentumflux_u, top_momentumflux_v, top_salinityflux, &
  • palm/trunk/SOURCE/prognostic_equations.f90

    r737 r785  
    44! Current revisions:
    55! -----------------
     6! new factor rdf_sc allows separate Rayleigh damping of scalars
    67!
    78! Former revisions:
     
    511512                                     sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
    512513                                   ) -                                         &
    513                            tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
     514                           tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) )
    514515          ENDDO
    515516
     
    602603                                     sbt * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
    603604                                      ) -                                      &
    604                               tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
     605                              tsc(5) * rdf_sc(k) * ( sa(k,j,i) - sa_init(k) )
    605606                IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
    606607             ENDDO
     
    723724                                      sbt * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
    724725                                     ) -                                       &
    725                              tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
     726                             tsc(5) * rdf_sc(k) * ( q(k,j,i) - q_init(k) )
    726727                IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
    727728             ENDDO
     
    12161217                               tsc(2) * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
    12171218                                   ) -                                      &
    1218                            tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
     1219                           tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) )
    12191220          ENDDO
    12201221
     
    12661267                               tsc(2) * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
    12671268                                      ) -                                   &
    1268                              tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
     1269                             tsc(5) * rdf_sc(k) * ( sa(k,j,i) - sa_init(k) )
    12691270                IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
    12701271             ENDDO
     
    13461347                                tsc(2) * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
    13471348                                     ) -                                    &
    1348                              tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
     1349                             tsc(5) * rdf_sc(k) * ( q(k,j,i) - q_init(k) )
    13491350                IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
    13501351             ENDDO
     
    18461847                                     sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) &
    18471848                                   ) -                                         &
    1848                            tsc(5) * rdf(k) * ( pt(k,j,i) - pt_init(k) )
     1849                           tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) )
    18491850          ENDDO
    18501851       ENDDO
     
    19401941                                     sbt * tend(k,j,i) + tsc(3) * tsa_m(k,j,i) &
    19411942                                      ) -                                      &
    1942                               tsc(5) * rdf(k) * ( sa(k,j,i) - sa_init(k) )
     1943                              tsc(5) * rdf_sc(k) * ( sa(k,j,i) - sa_init(k) )
    19431944                IF ( sa_p(k,j,i) < 0.0 )  sa_p(k,j,i) = 0.1 * sa(k,j,i)
    19441945             ENDDO
     
    20652066                                      sbt * tend(k,j,i) + tsc(3) * tq_m(k,j,i) &
    20662067                                     ) -                                       &
    2067                              tsc(5) * rdf(k) * ( q(k,j,i) - q_init(k) )
     2068                             tsc(5) * rdf_sc(k) * ( q(k,j,i) - q_init(k) )
    20682069                IF ( q_p(k,j,i) < 0.0 )  q_p(k,j,i) = 0.1 * q(k,j,i)
    20692070             ENDDO
  • palm/trunk/UTIL/interpret_config.f90

    r556 r785  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Character length extended to 1000 in order to account for long lines in the
     7! configuration file
    78!
    89! Former revisions:
     
    3233    IMPLICIT NONE
    3334
    34     CHARACTER (LEN=1)   ::  bs = ACHAR( 92 )   ! backslash (auf vpp sonst n.
     35    CHARACTER (LEN=1)    ::  bs = ACHAR( 92 )   ! backslash (auf vpp sonst n.
    3536                                               ! druckbar)
    36     CHARACTER (LEN=20)  ::  do_remote, do_trace, host, localhost
    37     CHARACTER (LEN=100) ::  config_file, icf
    38     CHARACTER (LEN=300) ::  cond1, cond2, empty = REPEAT( ' ', 240 ),       &
    39                             for_cond1, for_cond2, for_host, input_list,     &
    40                             iolist, output_list, s1, s2, s2a, s2b, s2c, s3, &
    41                             s3cond, s4, s5, s6, value, value_mrun, var, zeile
     37    CHARACTER (LEN=20)   ::  do_remote, do_trace, host, localhost
     38    CHARACTER (LEN=100)  ::  config_file, icf
     39    CHARACTER (LEN=1000) ::  cond1, cond2, empty = REPEAT( ' ', 240 ),       &
     40                             for_cond1, for_cond2, for_host, input_list,     &
     41                             iolist, output_list, s1, s2, s2a, s2b, s2c, s3, &
     42                             s3cond, s4, s5, s6, value, value_mrun, var, zeile
    4243
    4344    INTEGER ::  dummy, i, icomment = 0, icond1, icond2, idatver = 0, iec = 0,  &
Note: See TracChangeset for help on using the changeset viewer.