Changeset 4487 for palm


Ignore:
Timestamp:
Apr 3, 2020 9:38:20 AM (4 years ago)
Author:
raasch
Message:

bugfix for subroutine calls that contain the decycle_chem and decycle_salsa switches as arguments

Location:
palm/trunk
Files:
3 edited

Legend:

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

    r4481 r4487  
    2727! -----------------
    2828! $Id$
     29! bugfix for subroutine calls that contain the decycle_chem switches as arguments
     30!
     31! 4481 2020-03-31 18:55:54Z maronga
    2932! use statement for exchange horiz added,
    3033! bugfix for call of exchange horiz 2d
     
    20372040!--    appear under shear-free stable conditions.
    20382041       CALL ws_init_flags_scalar(                                              &
    2039                   bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  decycle_chem_lr, &
    2040                   bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  decycle_chem_ns, &
    2041                   bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  decycle_chem_lr, &
    2042                   bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  decycle_chem_ns, &
     2042                  bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  ( decycle_chem_lr .AND. nxl == 0  ), &
     2043                  bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  ( decycle_chem_ns .AND. nyn == ny ), &
     2044                  bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  ( decycle_chem_lr .AND. nxr == nx ), &
     2045                  bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  ( decycle_chem_ns .AND. nys == 0  ), &
    20432046                  cs_advc_flags_s, .TRUE. )
    20442047    ENDIF
     
    28292832          IF ( ws_scheme_sca )  THEN
    28302833             CALL advec_s_ws( cs_advc_flags_s, chem_species(ilsp)%conc, 'kc',                      &
    2831                               bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  decycle_chem_lr,        &
    2832                               bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  decycle_chem_ns,        &
    2833                               bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  decycle_chem_lr,        &
    2834                               bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  decycle_chem_ns )
     2834                  bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  ( decycle_chem_lr .AND. nxl == 0  ), &
     2835                  bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  ( decycle_chem_ns .AND. nyn == ny ), &
     2836                  bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  ( decycle_chem_lr .AND. nxr == nx ), &
     2837                  bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  ( decycle_chem_ns .AND. nys == 0  ) )
    28352838          ELSE
    28362839             CALL advec_s_pw( chem_species(ilsp)%conc )
     
    29392942       IF ( timestep_scheme(1:5) == 'runge' )  THEN
    29402943          IF ( ws_scheme_sca )  THEN
    2941              CALL advec_s_ws( cs_advc_flags_s,                                                     &
    2942                               i,                                                                   &
    2943                               j,                                                                   &
    2944                               chem_species(ilsp)%conc,                                             &
    2945                               'kc',                                                                &
     2944             CALL advec_s_ws( cs_advc_flags_s, i, j, chem_species(ilsp)%conc, 'kc',                &
    29462945                              chem_species(ilsp)%flux_s_cs,                                        &
    29472946                              chem_species(ilsp)%diss_s_cs,                                        &
     
    29502949                              i_omp_start,                                                         &
    29512950                              tn,                                                                  &
    2952                               bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  decycle_chem_lr,        &
    2953                               bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  decycle_chem_ns,        &
    2954                               bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  decycle_chem_lr,        &
    2955                               bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  decycle_chem_ns,        &
    2956                               monotonic_limiter_z )
     2951                  bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  ( decycle_chem_lr .AND. nxl == 0  ), &
     2952                  bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  ( decycle_chem_ns .AND. nyn == ny ), &
     2953                  bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  ( decycle_chem_lr .AND. nxr == nx ), &
     2954                  bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  ( decycle_chem_ns .AND. nys == 0  ), &
     2955                  monotonic_limiter_z )
    29572956          ELSE
    29582957             CALL advec_s_pw( i, j, chem_species(ilsp)%conc )
  • palm/trunk/SOURCE/salsa_mod.f90

    r4481 r4487  
    2626! -----------------
    2727! $Id$
     28! bugfix for subroutine calls that contain the decycle_salsa switches as arguments
     29!
     30! 4481 2020-03-31 18:55:54Z maronga
    2831! Bug fix to the previous commit: the logical switch monotonic_limiter_z missing
    2932! from advec_s_ws in salsa_tendency_ij
     
    17481751!--    oscillations, which are responsible for high concentration maxima that may appear e.g. under
    17491752!--    shear-free stable conditions.
    1750        CALL ws_init_flags_scalar( bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  decycle_salsa_lr,    &
    1751                                   bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  decycle_salsa_ns,    &
    1752                                   bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  decycle_salsa_lr,    &
    1753                                   bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  decycle_salsa_ns,    &
    1754                                   salsa_advc_flags_s, .TRUE. )
     1753       CALL ws_init_flags_scalar(                                                                  &
     1754                 bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  ( decycle_salsa_lr .AND. nxl == 0  ), &
     1755                 bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  ( decycle_salsa_ns .AND. nyn == ny ), &
     1756                 bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  ( decycle_salsa_lr .AND. nxr == nx ), &
     1757                 bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  ( decycle_salsa_ns .AND. nys == 0  ), &
     1758                 salsa_advc_flags_s, .TRUE. )
    17551759    ENDIF
    17561760
     
    81058109       IF ( ws_scheme_sca )  THEN
    81068110          CALL advec_s_ws( salsa_advc_flags_s, i, j, rs, id,                                       &
    8107                            flux_s, diss_s, flux_l, diss_l, i_omp_start, tn,                        &
    8108                            bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  decycle_salsa_lr,          &
    8109                            bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  decycle_salsa_ns,          &
    8110                            bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  decycle_salsa_lr,          &
    8111                            bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  decycle_salsa_ns,          &
    8112                            monotonic_limiter_z )
     8111                 flux_s, diss_s, flux_l, diss_l, i_omp_start, tn,                                  &
     8112                 bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  ( decycle_salsa_lr .AND. nxl == 0  ), &
     8113                 bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  ( decycle_salsa_ns .AND. nyn == ny ), &
     8114                 bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  ( decycle_salsa_lr .AND. nxr == nx ), &
     8115                 bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  ( decycle_salsa_ns .AND. nys == 0  ), &
     8116                 monotonic_limiter_z )
    81138117       ELSE
    81148118          CALL advec_s_pw( i, j, rs )
     
    82428246       IF ( ws_scheme_sca )  THEN
    82438247          CALL advec_s_ws( salsa_advc_flags_s, rs, id,                                             &
    8244                            bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  decycle_salsa_lr,          &
    8245                            bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  decycle_salsa_ns,          &
    8246                            bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  decycle_salsa_lr,          &
    8247                            bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  decycle_salsa_ns )
     8248                 bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  ( decycle_salsa_lr .AND. nxl == 0  ), &
     8249                 bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  ( decycle_salsa_ns .AND. nyn == ny ), &
     8250                 bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  ( decycle_salsa_lr .AND. nxr == nx ), &
     8251                 bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  ( decycle_salsa_ns .AND. nys == 0  ) )
    82488252       ELSE
    82498253          CALL advec_s_pw( rs )
Note: See TracChangeset for help on using the changeset viewer.