Ignore:
Timestamp:
Apr 10, 2015 1:43:49 PM (9 years ago)
Author:
suehring
Message:

Bugfix: setting flags for 5th-order advection scheme, and stastical evaluation of scalar fluxes in 5th-order scheme in case of monotonic limiter.

File:
1 edited

Legend:

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

    r1572 r1580  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Bugfix: statistical evaluation of scalar fluxes in case of monotonic limiter.
    2323!
    2424! Former revisions:
     
    11211121
    11221122!
    1123 !--    Evaluation of statistics. Please note, in case of using monotone limiter
    1124 !--    vertical fluxes will be not calculated by the advective fluxes.
    1125        IF ( .NOT. monotonic_adjustment )  THEN
    1126 
    1127           SELECT CASE ( sk_char )
    1128 
    1129              CASE ( 'pt' )
    1130 
    1131                 DO  k = nzb, nzt
    1132                    sums_wspts_ws_l(k,tn) = sums_wspts_ws_l(k,tn) +            &
    1133                                           ( flux_t(k) + diss_t(k) )           &
    1134                                   * weight_substep(intermediate_timestep_count)
    1135                 ENDDO
    1136              
    1137              CASE ( 'sa' )
    1138 
    1139                 DO  k = nzb, nzt
    1140                    sums_wssas_ws_l(k,tn) = sums_wssas_ws_l(k,tn) +            &
    1141                                           ( flux_t(k) + diss_t(k) )           &
    1142                                   * weight_substep(intermediate_timestep_count)
    1143                 ENDDO
    1144              
    1145              CASE ( 'q' )
    1146 
    1147                 DO  k = nzb, nzt
    1148                    sums_wsqs_ws_l(k,tn)  = sums_wsqs_ws_l(k,tn) +             &
    1149                                          ( flux_t(k) + diss_t(k) )            &
    1150                                   * weight_substep(intermediate_timestep_count)
    1151                 ENDDO
    1152 
    1153              CASE ( 'qr' )
    1154 
    1155                 DO  k = nzb, nzt
    1156                    sums_wsqrs_ws_l(k,tn)  = sums_wsqrs_ws_l(k,tn) +           &
    1157                                          ( flux_t(k) + diss_t(k) )            &
    1158                                   * weight_substep(intermediate_timestep_count)
    1159                 ENDDO
    1160 
    1161              CASE ( 'nr' )
    1162 
    1163                 DO  k = nzb, nzt
    1164                    sums_wsnrs_ws_l(k,tn)  = sums_wsnrs_ws_l(k,tn) +           &
    1165                                          ( flux_t(k) + diss_t(k) )            &
    1166                                   * weight_substep(intermediate_timestep_count)
    1167                 ENDDO
    1168 
    1169             END SELECT
    1170          ENDIF
    1171 
     1123!--    Evaluation of statistics.
     1124       SELECT CASE ( sk_char )
     1125
     1126          CASE ( 'pt' )
     1127
     1128             DO  k = nzb, nzt
     1129                sums_wspts_ws_l(k,tn) = sums_wspts_ws_l(k,tn) +               &
     1130                                       ( flux_t(k) + diss_t(k) )              &
     1131                               * weight_substep(intermediate_timestep_count)
     1132             ENDDO
     1133           
     1134          CASE ( 'sa' )
     1135
     1136             DO  k = nzb, nzt
     1137                sums_wssas_ws_l(k,tn) = sums_wssas_ws_l(k,tn) +               &
     1138                                       ( flux_t(k) + diss_t(k) )              &
     1139                               * weight_substep(intermediate_timestep_count)
     1140             ENDDO
     1141           
     1142          CASE ( 'q' )
     1143
     1144             DO  k = nzb, nzt
     1145                sums_wsqs_ws_l(k,tn)  = sums_wsqs_ws_l(k,tn) +                &
     1146                                      ( flux_t(k) + diss_t(k) )               &
     1147                               * weight_substep(intermediate_timestep_count)
     1148             ENDDO
     1149
     1150          CASE ( 'qr' )
     1151
     1152             DO  k = nzb, nzt
     1153                sums_wsqrs_ws_l(k,tn)  = sums_wsqrs_ws_l(k,tn) +              &
     1154                                      ( flux_t(k) + diss_t(k) )               &
     1155                               * weight_substep(intermediate_timestep_count)
     1156             ENDDO
     1157
     1158          CASE ( 'nr' )
     1159
     1160             DO  k = nzb, nzt
     1161                sums_wsnrs_ws_l(k,tn)  = sums_wsnrs_ws_l(k,tn) +              &
     1162                                      ( flux_t(k) + diss_t(k) )               &
     1163                               * weight_substep(intermediate_timestep_count)
     1164             ENDDO
     1165
     1166         END SELECT
     1167         
    11721168    END SUBROUTINE advec_s_ws_ij
    11731169
     
    32513247             ENDDO
    32523248!
    3253 !--          Evaluation of statistics. Please note, in case of using monotone
    3254 !--          limiter vertical fluxes will be not calculated by the advective
    3255 !--          fluxes.
    3256              IF ( .NOT. monotonic_adjustment )  THEN
    3257 
    3258                 SELECT CASE ( sk_char )
    3259 
    3260                     CASE ( 'pt' )
    3261                        DO  k = nzb, nzt
    3262                           sums_wspts_ws_l(k,tn) = sums_wspts_ws_l(k,tn)       &
    3263                            + ( flux_t(k) + diss_t(k) )                        &
    3264                            *   weight_substep(intermediate_timestep_count)
    3265                        ENDDO
    3266                     CASE ( 'sa' )
    3267                        DO  k = nzb, nzt
    3268                           sums_wssas_ws_l(k,tn) = sums_wssas_ws_l(k,tn)       &
    3269                            + ( flux_t(k) + diss_t(k) )                        &
    3270                            *   weight_substep(intermediate_timestep_count)
    3271                        ENDDO
    3272                     CASE ( 'q' )
    3273                        DO  k = nzb, nzt
    3274                           sums_wsqs_ws_l(k,tn) = sums_wsqs_ws_l(k,tn)         &
    3275                            + ( flux_t(k) + diss_t(k) )                        &
    3276                            *   weight_substep(intermediate_timestep_count)
    3277                        ENDDO
    3278                     CASE ( 'qr' )
    3279                        DO  k = nzb, nzt
    3280                           sums_wsqrs_ws_l(k,tn) = sums_wsqrs_ws_l(k,tn)       &
    3281                            + ( flux_t(k) + diss_t(k) )                        &
    3282                            *   weight_substep(intermediate_timestep_count)
    3283                        ENDDO
    3284                     CASE ( 'nr' )
    3285                        DO  k = nzb, nzt
    3286                           sums_wsnrs_ws_l(k,tn) = sums_wsnrs_ws_l(k,tn)       &
    3287                            + ( flux_t(k) + diss_t(k) )                        &
    3288                            *   weight_substep(intermediate_timestep_count)
    3289                        ENDDO
    3290 
    3291                  END SELECT
    3292 
    3293               ENDIF
     3249!--          Evaluation of statistics.
     3250             SELECT CASE ( sk_char )
     3251
     3252                 CASE ( 'pt' )
     3253                    DO  k = nzb, nzt
     3254                       sums_wspts_ws_l(k,tn) = sums_wspts_ws_l(k,tn)          &
     3255                        + ( flux_t(k) + diss_t(k) )                           &
     3256                        *   weight_substep(intermediate_timestep_count)
     3257                    ENDDO
     3258                 CASE ( 'sa' )
     3259                    DO  k = nzb, nzt
     3260                       sums_wssas_ws_l(k,tn) = sums_wssas_ws_l(k,tn)          &
     3261                        + ( flux_t(k) + diss_t(k) )                           &
     3262                        *   weight_substep(intermediate_timestep_count)
     3263                    ENDDO
     3264                 CASE ( 'q' )
     3265                    DO  k = nzb, nzt
     3266                       sums_wsqs_ws_l(k,tn) = sums_wsqs_ws_l(k,tn)            &
     3267                        + ( flux_t(k) + diss_t(k) )                           &
     3268                        *   weight_substep(intermediate_timestep_count)
     3269                    ENDDO
     3270                 CASE ( 'qr' )
     3271                    DO  k = nzb, nzt
     3272                       sums_wsqrs_ws_l(k,tn) = sums_wsqrs_ws_l(k,tn)          &
     3273                        + ( flux_t(k) + diss_t(k) )                           &
     3274                        *   weight_substep(intermediate_timestep_count)
     3275                    ENDDO
     3276                 CASE ( 'nr' )
     3277                    DO  k = nzb, nzt
     3278                       sums_wsnrs_ws_l(k,tn) = sums_wsnrs_ws_l(k,tn)          &
     3279                        + ( flux_t(k) + diss_t(k) )                           &
     3280                        *   weight_substep(intermediate_timestep_count)
     3281                    ENDDO
     3282
     3283              END SELECT
    32943284
    32953285         ENDDO
Note: See TracChangeset for help on using the changeset viewer.