Ignore:
Timestamp:
Mar 20, 2014 4:38:49 PM (10 years ago)
Author:
raasch
Message:

REAL functions and a lot of REAL constants provided with KIND-attribute,
some small bugfixes

File:
1 edited

Legend:

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

    r1321 r1322  
    2020! Current revisions:
    2121! ------------------
     22! REAL constants defined as wp_kind
    2223!
    2324! Former revisions:
     
    186187!
    187188!--          Determine the sublayer. Further used as index.
    188              height_p     = ( particles(n)%z - z0_av_global )           &
    189                                   * REAL( number_of_sublayers )        &
     189             height_p     = ( particles(n)%z - z0_av_global )            &
     190                                  * REAL( number_of_sublayers, KIND=wp ) &
    190191                                  * d_z_p_z0
    191192!
     
    210211             us_int = 0.5 * ( us(j,i) + us(j,i-1) ) 
    211212
    212              u_int  = -usws(j,i) / ( us_int * kappa + 1E-10 )           &
     213             u_int  = -usws(j,i) / ( us_int * kappa + 1E-10_wp )           &
    213214                      * log_z_z0_int
    214215
     
    277278              us_int = 0.5 * ( us(j,i) + us(j-1,i) )   
    278279
    279               v_int  = -vsws(j,i) / ( us_int * kappa + 1E-10 )             &
     280              v_int  = -vsws(j,i) / ( us_int * kappa + 1E-10_wp )             &
    280281                       * log_z_z0_int
    281282
     
    10931094          ENDIF
    10941095
    1095           vv_int = ( 1.0 / 3.0 ) * ( aa + bb + cc )
    1096 
    1097           fs_int = ( 2.0 / 3.0 ) * e_mean_int / &
    1098                       ( vv_int + ( 2.0 / 3.0 ) * e_mean_int )
     1096          vv_int = ( 1.0_wp / 3.0_wp ) * ( aa + bb + cc )
     1097
     1098          fs_int = ( 2.0_wp / 3.0_wp ) * e_mean_int / &
     1099                      ( vv_int + ( 2.0_wp / 3.0_wp ) * e_mean_int )
    10991100
    11001101!
     
    11261127!--          from becoming unrealistically large.
    11271128             particles(n)%rvar1 = SQRT( 2.0 * sgs_wfu_part * e_int ) * &
    1128                                         ( random_gauss( iran_part, 5.0 ) - 1.0 )
     1129                                        ( random_gauss( iran_part, 5.0_wp ) - 1.0_wp )
    11291130             particles(n)%rvar2 = SQRT( 2.0 * sgs_wfv_part * e_int ) * &
    1130                                         ( random_gauss( iran_part, 5.0 ) - 1.0 )
     1131                                        ( random_gauss( iran_part, 5.0_wp ) - 1.0_wp )
    11311132             particles(n)%rvar3 = SQRT( 2.0 * sgs_wfw_part * e_int ) * &
    1132                                         ( random_gauss( iran_part, 5.0 ) - 1.0 )
     1133                                        ( random_gauss( iran_part, 5.0_wp ) - 1.0_wp )
    11331134
    11341135          ELSE
     
    11681169                                  ) * dt_particle / 2.0          +             &
    11691170                                  SQRT( fs_int * c_0 * diss_int ) *            &
    1170                                   ( random_gauss( iran_part, 5.0 ) - 1.0 ) *   &
     1171                                  ( random_gauss( iran_part, 5.0_wp ) - 1.0_wp ) *   &
    11711172                                  SQRT( dt_particle )
    11721173
     
    11771178                                    particles(n)%rvar2 /                       &
    11781179                                    ( 2.0 * sgs_wfv_part * e_int ) + de_dy_int &
    1179                                   ) * dt_particle / 2.0          +             &
     1180                                  ) * dt_particle / 2.0_wp          +             &
    11801181                                  SQRT( fs_int * c_0 * diss_int ) *            &
    1181                                   ( random_gauss( iran_part, 5.0 ) - 1.0 ) *   &
     1182                                  ( random_gauss( iran_part, 5.0_wp ) - 1.0_wp ) *   &
    11821183                                  SQRT( dt_particle )
    11831184
     
    11881189                                    particles(n)%rvar3 /                       &
    11891190                                    ( 2.0 * sgs_wfw_part * e_int ) + de_dz_int &
    1190                                   ) * dt_particle / 2.0          +             &
     1191                                  ) * dt_particle / 2.0_wp         +             &
    11911192                                  SQRT( fs_int * c_0 * diss_int ) *            &
    1192                                   ( random_gauss( iran_part, 5.0 ) - 1.0 ) *   &
     1193                                  ( random_gauss( iran_part, 5.0_wp ) - 1.0_wp ) *   &
    11931194                                  SQRT( dt_particle )
    11941195
     
    12521253                                ( v_int - particles(n)%speed_y )**2 +   &
    12531254                                ( w_int - particles(n)%speed_z )**2 ) / &
    1254                                          molecular_viscosity )**0.687   &
     1255                                         molecular_viscosity )**0.687_wp   &
    12551256                        )
    12561257             exp_term = EXP( -exp_arg * dt_particle )
Note: See TracChangeset for help on using the changeset viewer.