Ignore:
Timestamp:
Oct 3, 2018 2:39:40 AM (3 years ago)
Author:
raasch
Message:

Craik-Leibovich force and wave breaking effects added to ocean mode, header output for ocean mode

File:
1 edited

Legend:

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

    r3298 r3302  
    2525! -----------------
    2626! $Id$
     27! Stokes drift velocity added in scalar advection
     28!
     29! 3298 2018-10-02 12:21:11Z kanani
    2730! Add formatted note from ketelsen about statistics for chemistry
    2831!
     
    11471150
    11481151       USE arrays_3d,                                                          &
    1149            ONLY:  ddzw, drho_air, tend, u, v, w, rho_air_zw
     1152           ONLY:  ddzw, drho_air, rho_air_zw, tend, u, u_stokes_zu, v,         &
     1153                  v_stokes_zu, w
    11501154
    11511155       USE control_parameters,                                                 &
     
    12271231             ibit3 = IBITS(advc_flags_1(k,j-1,i),3,1)
    12281232
    1229              v_comp                  = v(k,j,i) - v_gtrans
     1233             v_comp                  = v(k,j,i) - v_gtrans + v_stokes_zu(k)
    12301234             swap_flux_y_local(k,tn) = v_comp *         (                     &
    12311235                                               ( 37.0_wp * ibit5 * adv_sca_5  &
     
    12631267          DO  k = nzb_max+1, nzt
    12641268
    1265              v_comp                  = v(k,j,i) - v_gtrans
     1269             v_comp                  = v(k,j,i) - v_gtrans + v_stokes_zu(k)
    12661270             swap_flux_y_local(k,tn) = v_comp * (                             &
    12671271                                    37.0_wp * ( sk(k,j,i)   + sk(k,j-1,i) )   &
     
    12881292             ibit0 = IBITS(advc_flags_1(k,j,i-1),0,1)
    12891293
    1290              u_comp                     = u(k,j,i) - u_gtrans
     1294             u_comp                     = u(k,j,i) - u_gtrans + u_stokes_zu(k)
    12911295             swap_flux_x_local(k,j,tn) = u_comp * (                           &
    12921296                                               ( 37.0_wp * ibit2 * adv_sca_5  &
     
    13231327          DO  k = nzb_max+1, nzt
    13241328
    1325              u_comp                 = u(k,j,i) - u_gtrans
     1329             u_comp                 = u(k,j,i) - u_gtrans + u_stokes_zu(k)
    13261330             swap_flux_x_local(k,j,tn) = u_comp * (                           &
    13271331                                      37.0_wp * ( sk(k,j,i)   + sk(k,j,i-1) ) &
     
    13551359          ibit0 = IBITS(advc_flags_1(k,j,i),0,1)
    13561360
    1357           u_comp    = u(k,j,i+1) - u_gtrans
     1361          u_comp    = u(k,j,i+1) - u_gtrans + u_stokes_zu(k)
    13581362          flux_r(k) = u_comp * (                                              &
    13591363                     ( 37.0_wp * ibit2 * adv_sca_5                            &
     
    13901394          ibit3 = IBITS(advc_flags_1(k,j,i),3,1)
    13911395
    1392           v_comp    = v(k,j+1,i) - v_gtrans
     1396          v_comp    = v(k,j+1,i) - v_gtrans + v_stokes_zu(k)
    13931397          flux_n(k) = v_comp * (                                              &
    13941398                     ( 37.0_wp * ibit5 * adv_sca_5                            &
     
    15141518       DO  k = nzb_max+1, nzt
    15151519
    1516           u_comp    = u(k,j,i+1) - u_gtrans
     1520          u_comp    = u(k,j,i+1) - u_gtrans + u_stokes_zu(k)
    15171521          flux_r(k) = u_comp * (                                              &
    15181522                      37.0_wp * ( sk(k,j,i+1) + sk(k,j,i)   )                 &
     
    15241528                    +           ( sk(k,j,i+3) - sk(k,j,i-2) ) ) * adv_sca_5
    15251529
    1526           v_comp    = v(k,j+1,i) - v_gtrans
     1530          v_comp    = v(k,j+1,i) - v_gtrans + v_stokes_zu(k)
    15271531          flux_n(k) = v_comp * (                                              &
    15281532                      37.0_wp * ( sk(k,j+1,i) + sk(k,j,i)   )                 &
     
    31923196    SUBROUTINE advec_s_ws( sk, sk_char )
    31933197
    3194        USE arrays_3d,                                                         &
    3195            ONLY:  ddzw, drho_air, tend, u, v, w, rho_air_zw
    3196 
    3197        USE control_parameters,                                                &
     3198       USE arrays_3d,                                                          &
     3199           ONLY:  ddzw, drho_air, rho_air_zw, tend, u, u_stokes_zu, v,         &
     3200                  v_stokes_zu, w
     3201
     3202       USE control_parameters,                                                 &
    31983203           ONLY:  intermediate_timestep_count, u_gtrans, v_gtrans
    31993204
    3200        USE grid_variables,                                                    &
     3205       USE grid_variables,                                                     &
    32013206           ONLY:  ddx, ddy
    32023207
    3203        USE indices,                                                           &
    3204            ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzb_max,   &
     3208       USE indices,                                                            &
     3209           ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzb_max,    &
    32053210                  nzt, advc_flags_1
    32063211           
    32073212       USE kinds
    32083213       
    3209        USE statistics,                                                        &
    3210            ONLY:  hom, sums_wspts_ws_l, sums_wsqs_ws_l, sums_wssas_ws_l,      &
    3211                   sums_wsqcs_ws_l, sums_wsqrs_ws_l, sums_wsncs_ws_l,          &
     3214       USE statistics,                                                         &
     3215           ONLY:  hom, sums_wspts_ws_l, sums_wsqs_ws_l, sums_wssas_ws_l,       &
     3216                  sums_wsqcs_ws_l, sums_wsqrs_ws_l, sums_wsncs_ws_l,           &
    32123217                  sums_wsnrs_ws_l, sums_wsss_ws_l, weight_substep 
    32133218                 
     
    32723277             ibit0 = IBITS(advc_flags_1(k,j,i-1),0,1)
    32733278
    3274              u_comp                 = u(k,j,i) - u_gtrans
     3279             u_comp                 = u(k,j,i) - u_gtrans + u_stokes_zu(k)
    32753280             swap_flux_x_local(k,j) = u_comp * (                              &
    32763281                                             ( 37.0_wp * ibit2 * adv_sca_5    &
     
    33073312          DO  k = nzb_max+1, nzt
    33083313
    3309              u_comp                 = u(k,j,i) - u_gtrans
     3314             u_comp                 = u(k,j,i) - u_gtrans + u_stokes_zu(k)
    33103315             swap_flux_x_local(k,j) = u_comp * (                              &
    33113316                                      37.0_wp * ( sk(k,j,i)   + sk(k,j,i-1) ) &
     
    33333338             ibit3 = IBITS(advc_flags_1(k,j-1,i),3,1)
    33343339
    3335              v_comp               = v(k,j,i) - v_gtrans
     3340             v_comp               = v(k,j,i) - v_gtrans + v_stokes_zu(k)
    33363341             swap_flux_y_local(k) = v_comp * (                                &
    33373342                                             ( 37.0_wp * ibit5 * adv_sca_5    &
     
    33693374          DO  k = nzb_max+1, nzt
    33703375
    3371              v_comp               = v(k,j,i) - v_gtrans
     3376             v_comp               = v(k,j,i) - v_gtrans + v_stokes_zu(k)
    33723377             swap_flux_y_local(k) = v_comp * (                               &
    33733378                                    37.0_wp * ( sk(k,j,i)   + sk(k,j-1,i) )  &
     
    33753380                                  +           ( sk(k,j+2,i) + sk(k,j-3,i) )  &
    33763381                                             ) * adv_sca_5
    3377               swap_diss_y_local(k) = -ABS( v_comp ) * (                      &
     3382             swap_diss_y_local(k) = -ABS( v_comp ) * (                       &
    33783383                                    10.0_wp * ( sk(k,j,i)   - sk(k,j-1,i) )  &
    33793384                                  -  5.0_wp * ( sk(k,j+1,i) - sk(k,j-2,i) )  &
     
    33963401                ibit0 = IBITS(advc_flags_1(k,j,i),0,1)
    33973402
    3398                 u_comp    = u(k,j,i+1) - u_gtrans
     3403                u_comp    = u(k,j,i+1) - u_gtrans + u_stokes_zu(k)
    33993404                flux_r(k) = u_comp * (                                        &
    34003405                          ( 37.0_wp * ibit2 * adv_sca_5                       &
     
    34313436                ibit3 = IBITS(advc_flags_1(k,j,i),3,1)
    34323437
    3433                 v_comp    = v(k,j+1,i) - v_gtrans
     3438                v_comp    = v(k,j+1,i) - v_gtrans + v_stokes_zu(k)
    34343439                flux_n(k) = v_comp * (                                        &
    34353440                          ( 37.0_wp * ibit5 * adv_sca_5                       &
     
    35483553             DO  k = nzb_max+1, nzt
    35493554
    3550                 u_comp    = u(k,j,i+1) - u_gtrans
     3555                u_comp    = u(k,j,i+1) - u_gtrans + u_stokes_zu(k)
    35513556                flux_r(k) = u_comp * (                                        &
    35523557                      37.0_wp * ( sk(k,j,i+1) + sk(k,j,i)   )                 &
     
    35583563                    +           ( sk(k,j,i+3) - sk(k,j,i-2) ) ) * adv_sca_5
    35593564
    3560                 v_comp    = v(k,j+1,i) - v_gtrans
     3565                v_comp    = v(k,j+1,i) - v_gtrans + v_stokes_zu(k)
    35613566                flux_n(k) = v_comp * (                                        &
    35623567                      37.0_wp * ( sk(k,j+1,i) + sk(k,j,i)   )                 &
Note: See TracChangeset for help on using the changeset viewer.