204     real(RP), 
intent(out)   :: qflx_sgs_momz(KA,IA,JA,3)
   205     real(RP), 
intent(out)   :: qflx_sgs_momx(KA,IA,JA,3)
   206     real(RP), 
intent(out)   :: qflx_sgs_momy(KA,IA,JA,3)
   207     real(RP), 
intent(out)   :: qflx_sgs_rhot(KA,IA,JA,3)
   208     real(RP), 
intent(out)   :: qflx_sgs_rhoq(KA,IA,JA,3,QA)
   210     real(RP), 
intent(inout) :: RHOQ_t       (KA,IA,JA,QA) 
   212     real(RP), 
intent(out)   :: Km           (KA,IA,JA)    
   213     real(RP), 
intent(out)   :: Ri           (KA,IA,JA)    
   214     real(RP), 
intent(out)   :: Pr           (KA,IA,JA)    
   216     real(RP), 
intent(in)    :: MOMZ         (KA,IA,JA)
   217     real(RP), 
intent(in)    :: MOMX         (KA,IA,JA)
   218     real(RP), 
intent(in)    :: MOMY         (KA,IA,JA)
   219     real(RP), 
intent(in)    :: RHOT         (KA,IA,JA)
   220     real(RP), 
intent(in)    :: DENS         (KA,IA,JA)
   221     real(RP), 
intent(in)    :: QTRC         (KA,IA,JA,QA)
   222     real(RP), 
intent(in)    :: N2           (KA,IA,JA)
   224     real(RP), 
intent(in)    :: SFLX_MW      (IA,JA)
   225     real(RP), 
intent(in)    :: SFLX_MU      (IA,JA)
   226     real(RP), 
intent(in)    :: SFLX_MV      (IA,JA)
   227     real(RP), 
intent(in)    :: SFLX_SH      (IA,JA)
   228     real(RP), 
intent(in)    :: SFLX_Q       (IA,JA,QA)
   230     real(RP), 
intent(in)    :: GSQRT        (KA,IA,JA,7)
   231     real(RP), 
intent(in)    :: J13G         (KA,IA,JA,7)
   232     real(RP), 
intent(in)    :: J23G         (KA,IA,JA,7)
   233     real(RP), 
intent(in)    :: J33G
   234     real(RP), 
intent(in)    :: MAPF         (IA,JA,2,4)
   235     real(DP), 
intent(in)    :: dt
   238     real(RP) :: POTT   (KA,IA,JA)
   241     real(RP) :: S33_C (KA,IA,JA) 
   242     real(RP) :: S11_C (KA,IA,JA)
   243     real(RP) :: S22_C (KA,IA,JA)
   244     real(RP) :: S31_C (KA,IA,JA)
   245     real(RP) :: S12_C (KA,IA,JA)
   246     real(RP) :: S23_C (KA,IA,JA)
   247     real(RP) :: S12_Z (KA,IA,JA) 
   248     real(RP) :: S23_X (KA,IA,JA) 
   249     real(RP) :: S31_Y (KA,IA,JA) 
   250     real(RP) :: S2    (KA,IA,JA) 
   252     real(RP) :: Kh    (KA,IA,JA) 
   253     real(RP) :: l     (KA,IA,JA) 
   255     real(RP) :: qflx_tke(KA,IA,JA,3)
   257     real(RP) :: TEND(KA,IA,JA)
   258     real(RP) :: a(KA,IA,JA)
   259     real(RP) :: b(KA,IA,JA)
   260     real(RP) :: c(KA,IA,JA)
   267     integer  :: k, i, j, iq
   270     if( io_l ) 
write(io_fid_log,*) 
'*** Atmos physics  step: Turbulence(D1980)'   273     qflx_sgs_momz(:,:,:,:)   = undef
   274     qflx_sgs_momx(:,:,:,:)   = undef
   275     qflx_sgs_momy(:,:,:,:)   = undef
   276     qflx_sgs_rhot(:,:,:,:)   = undef
   277     qflx_sgs_rhoq(:,:,:,:,:) = undef
   292        call check( __line__, rhot(k,i,j) )
   293        call check( __line__, dens(k,i,j) )
   295        pott(k,i,j) = rhot(k,i,j) / dens(k,i,j)
   300     i = iundef; j = iundef; k = iundef
   305     call calc_strain_tensor( &
   306          s33_c, s11_c, s22_c,          & 
   307          s31_c, s12_c, s23_c,          & 
   308          s12_z, s23_x, s31_y,          & 
   310          dens, momz, momx, momy,       & 
   311          gsqrt, j13g, j23g, j33g, mapf ) 
   323        call check( __line__, pott(k+1,i,j) )
   324        call check( __line__, pott(k,i,j) )
   325        call check( __line__, pott(k-1,i,j) )
   326        call check( __line__, fdz(k) )
   327        call check( __line__, fdz(k-1) )
   328        call check( __line__, s2(k,i,j) )
   330           ri(k,i,j) = n2(k,i,j) / s2(k,i,j)
   335        i = iundef; j = iundef; k = iundef
   342           if ( n2(k,i,j) > 1e-10_rp ) 
then   343              l(k,i,j) = max( min( 0.76_rp * sqrt(qtrc(k,i,j,i_tke)/n2(k,i,j)), delta(k,i,j) ), 1e-10_rp )
   345              l(k,i,j) = delta(k,i,j)
   351        i = iundef; j = iundef; k = iundef
   357           km(k,i,j) = min( 0.10_rp * l(k,i,j) * sqrt(qtrc(k,i,j,i_tke)), atmos_phy_tb_d1980_km_max )
   358           pr(k,i,j) = 1.0_rp / ( 1.0_rp + 2.0_rp * l(k,i,j) / delta(k,i,j) )
   359           kh(k,i,j) = km(k,i,j) / pr(k,i,j)
   364        i = iundef; j = iundef; k = iundef
   373        call check( __line__, dens(k,i,j) )
   374        call check( __line__, km(k,i,j) )
   375        call check( __line__, s33_c(k,i,j) )
   377           qflx_sgs_momz(k,i,j,
zdir) = dens(k,i,j) * ( - 2.0_rp * km(k,i,j) * s33_c(k,i,j) )
   382        i = iundef; j = iundef; k = iundef
   386           qflx_sgs_momz(ks,i,j,
zdir) = 0.0_rp 
   387           qflx_sgs_momz(ke,i,j,
zdir) = 0.0_rp 
   391        i = iundef; j = iundef; k = iundef
   398        call check( __line__, dens(k,i,j) )
   399        call check( __line__, dens(k,i+1,j) )
   400        call check( __line__, dens(k+1,i,j) )
   401        call check( __line__, dens(k+1,i+1,j) )
   402        call check( __line__, km(k,i,j) )
   403        call check( __line__, km(k,i+1,j) )
   404        call check( __line__, km(k+1,i,j) )
   405        call check( __line__, km(k+1,i+1,j) )
   406        call check( __line__, s31_y(k,i,j) )
   408           qflx_sgs_momz(k,i,j,
xdir) = - 0.125_rp & 
   409                * ( dens(k,i,j)+dens(k+1,i,j)+dens(k,i+1,j)+dens(k+1,i+1,j) ) &
   410                * ( km(k,i,j)+km(k+1,i,j)+km(k,i+1,j)+km(k+1,i+1,j)) &
   416        i = iundef; j = iundef; k = iundef
   423        call check( __line__, dens(k,i,j) )
   424        call check( __line__, dens(k,i,j+1) )
   425        call check( __line__, dens(k+1,i,j) )
   426        call check( __line__, dens(k+1,i,j+1) )
   427        call check( __line__, km(k,i,j) )
   428        call check( __line__, km(k,i,j+1) )
   429        call check( __line__, km(k+1,i,j) )
   430        call check( __line__, km(k+1,i,j+1) )
   431        call check( __line__, s23_x(k,i,j) )
   433           qflx_sgs_momz(k,i,j,
ydir) = - 0.125_rp & 
   434                * ( dens(k,i,j)+dens(k+1,i,j)+dens(k,i,j+1)+dens(k+1,i,j+1) ) &
   435                * ( km(k,i,j)+km(k+1,i,j)+km(k,i,j+1)+km(k+1,i,j+1) ) &
   441        i = iundef; j = iundef; k = iundef
   444        if ( atmos_phy_tb_d1980_implicit ) 
then   445           call calc_tend_momz( tend, & 
   447                                gsqrt, j13g, j23g, j33g, mapf, & 
   453              ap = - fouroverthree * dt &
   454                   * dens(ks+1,i,j)*km(ks+1,i,j) &
   455                   * rcdz(ks+1) / gsqrt(ks+1,i,j,
i_xyz)
   456              a(ks,i,j) = ap * rfdz(ks) / gsqrt(ks,i,j,
i_xyw)
   458              b(ks,i,j) = - a(ks,i,j) + 0.5_rp * ( dens(ks,i,j)+dens(ks+1,i,j) )
   460                 c(k,i,j) = ap * rfdz(k+1) / gsqrt(k+1,i,j,
i_xyw)
   461                 ap = - fouroverthree * dt &
   462                      * dens(k+1,i,j)*km(k+1,i,j) &
   463                      * rcdz(k+1) / gsqrt(k+1,i,j,
i_xyz)
   464                 a(k,i,j) = ap * rfdz(k) / gsqrt(k,i,j,
i_xyw)
   465                 b(k,i,j) = - a(k,i,j) - c(k,i,j) + 0.5_rp * ( dens(k,i,j)+dens(k+1,i,j) )
   468              c(ke-1,i,j) = ap * rfdz(ke) / gsqrt(ke,i,j,
i_xyw)
   469              b(ke-1,i,j) = - c(ke-1,i,j) + 0.5_rp * ( dens(ke-1,i,j)+dens(ke,i,j) )
   475              call diffusion_solver( &
   477                   a(:,i,j), b(:,i,j), c(:,i,j), d, & 
   481                 qflx_sgs_momz(k,i,j,
zdir) = qflx_sgs_momz(k,i,j,
zdir) &
   482                      - fouroverthree * dens(k,i,j) * km(k,i,j) * dt &
   483                      * ( tend(k,i,j) - tend(k-1,i,j) ) * rcdz(k) / gsqrt(k,i,j,
i_xyz)
   497        call check( __line__, dens(k,i,j) )
   498        call check( __line__, dens(k,i+1,j) )
   499        call check( __line__, dens(k+1,i,j) )
   500        call check( __line__, dens(k+1,i+1,j) )
   501        call check( __line__, km(k,i,j) )
   502        call check( __line__, km(k,i+1,j) )
   503        call check( __line__, km(k+1,i,j) )
   504        call check( __line__, km(k+1,i+1,j) )
   505        call check( __line__, s31_y(k,i,j) )
   507           qflx_sgs_momx(k,i,j,
zdir) = - 0.125_rp & 
   508                * ( dens(k,i,j)+dens(k+1,i,j)+dens(k,i+1,j)+dens(k+1,i+1,j) ) &
   509                * ( km(k,i,j)+km(k+1,i,j)+km(k,i+1,j)+km(k+1,i+1,j) ) &
   515        i = iundef; j = iundef; k = iundef
   519           qflx_sgs_momx(ks-1,i,j,
zdir) = 0.0_rp 
   520           qflx_sgs_momx(ke  ,i,j,
zdir) = 0.0_rp 
   524        i = iundef; j = iundef; k = iundef
   531        call check( __line__, dens(k,i,j) )
   532        call check( __line__, km(k,i,j) )
   533        call check( __line__, s11_c(k,i,j) )
   535           qflx_sgs_momx(k,i,j,
xdir) = dens(k,i,j) * ( - 2.0_rp * km(k,i,j) * s11_c(k,i,j) )
   540        i = iundef; j = iundef; k = iundef
   547        call check( __line__, dens(k,i,j) )
   548        call check( __line__, dens(k,i+1,j) )
   549        call check( __line__, dens(k,i,j+1) )
   550        call check( __line__, dens(k,i+1,j+1) )
   551        call check( __line__, km(k,i,j) )
   552        call check( __line__, km(k,i+1,j) )
   553        call check( __line__, km(k,i,j+1) )
   554        call check( __line__, km(k,i+1,j+1) )
   555        call check( __line__, s12_z(k,i,j) )
   557           qflx_sgs_momx(k,i,j,
ydir) = - 0.125_rp & 
   558                * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) &
   559                * ( km(k,i,j)+km(k,i+1,j)+km(k,i,j+1)+km(k,i+1,j+1) ) &
   565        i = iundef; j = iundef; k = iundef
   568        if ( atmos_phy_tb_d1980_implicit ) 
then   569           call calc_tend_momx( tend, & 
   571                                gsqrt, j13g, j23g, j33g, mapf, & 
   577              ap = - dt * 0.25_rp * ( dens(ks  ,i  ,j)*km(ks  ,i  ,j) &
   578                                    + dens(ks+1,i  ,j)*km(ks+1,i  ,j) &
   579                                    + dens(ks  ,i+1,j)*km(ks  ,i+1,j) &
   580                                    + dens(ks+1,i+1,j)*km(ks+1,i+1,j) ) &
   581                                  * rfdz(ks) / gsqrt(ks,i,j,
i_uyw)
   582              a(ks,i,j) = ap * rcdz(ks) / gsqrt(ks,i,j,
i_uyz)
   584              b(ks,i,j) = - a(ks,i,j) + 0.5_rp * ( dens(ks,i,j)+dens(ks,i+1,j) )
   586                 c(k,i,j) = ap * rcdz(k) / gsqrt(k,i,j,
i_uyz)
   587                 ap = - dt * 0.25_rp * ( dens(k  ,i  ,j)*km(k  ,i  ,j) &
   588                                       + dens(k+1,i  ,j)*km(k+1,i  ,j) &
   589                                       + dens(k  ,i+1,j)*km(k  ,i+1,j) &
   590                                       + dens(k+1,i+1,j)*km(k+1,i+1,j) ) &
   591                                     * rfdz(k) / gsqrt(k,i,j,
i_uyw)
   592                 a(k,i,j) = ap * rcdz(k) / gsqrt(k,i,j,
i_uyz)
   593                 b(k,i,j) = - a(k,i,j) - c(k,i,j) + 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) )
   596              c(ke,i,j) = ap * rcdz(ke) / gsqrt(ke,i,j,
i_uyz)
   597              b(ke,i,j) = - c(ke,i,j) + 0.5_rp * ( dens(ke,i,j)+dens(ke,i+1,j) )
   603              call diffusion_solver( &
   605                   a(:,i,j), b(:,i,j), c(:,i,j), d, & 
   609                 qflx_sgs_momx(k,i,j,
zdir) = qflx_sgs_momx(k,i,j,
zdir) &
   610                      - 0.25_rp * ( dens(k  ,i  ,j)*km(k  ,i  ,j) &
   611                                  + dens(k+1,i  ,j)*km(k+1,i  ,j) &
   612                                  + dens(k  ,i+1,j)*km(k  ,i+1,j) &
   613                                  + dens(k+1,i+1,j)*km(k+1,i+1,j) ) &
   614                      * dt * ( tend(k+1,i,j) - tend(k,i,j) ) * rfdz(k) / gsqrt(k,i,j,
i_uyw)
   628        call check( __line__, dens(k,i,j) )
   629        call check( __line__, dens(k,i,j+1) )
   630        call check( __line__, dens(k+1,i,j) )
   631        call check( __line__, dens(k+1,i,j+1) )
   632        call check( __line__, km(k,i,j) )
   633        call check( __line__, km(k,i,j+1) )
   634        call check( __line__, km(k+1,i,j) )
   635        call check( __line__, km(k+1,i,j+1) )
   636        call check( __line__, s23_x(k,i,j) )
   638           qflx_sgs_momy(k,i,j,
zdir) = - 0.125_rp & 
   639                * ( dens(k,i,j)+dens(k+1,i,j)+dens(k,i,j+1)+dens(k+1,i,j+1) ) &
   640                * ( km(k,i,j)+km(k+1,i,j)+km(k,i,j+1)+km(k+1,i,j+1) ) &
   646        i = iundef; j = iundef; k = iundef
   650           qflx_sgs_momy(ks-1,i,j,
zdir) = 0.0_rp 
   651           qflx_sgs_momy(ke  ,i,j,
zdir) = 0.0_rp 
   655        i = iundef; j = iundef; k = iundef
   663        call check( __line__, dens(k,i,j) )
   664        call check( __line__, dens(k,i+1,j) )
   665        call check( __line__, dens(k,i,j+1) )
   666        call check( __line__, dens(k,i+1,j+1) )
   667        call check( __line__, km(k,i,j) )
   668        call check( __line__, km(k,i+1,j) )
   669        call check( __line__, km(k,i,j+1) )
   670        call check( __line__, km(k,i+1,j+1) )
   671        call check( __line__, s12_z(k,i,j) )
   673           qflx_sgs_momy(k,i,j,
xdir) = - 0.125_rp & 
   674                * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) &
   675                * ( km(k,i,j)+km(k,i+1,j)+km(k,i,j+1)+km(k,i+1,j+1) ) &
   681        i = iundef; j = iundef; k = iundef
   689        call check( __line__, dens(k,i,j) )
   690        call check( __line__, km(k,i,j) )
   691        call check( __line__, s22_c(k,i,j) )
   693           qflx_sgs_momy(k,i,j,
ydir) = dens(k,i,j) * ( - 2.0_rp * km(k,i,j) * s22_c(k,i,j) )
   698        i = iundef; j = iundef; k = iundef
   701        if ( atmos_phy_tb_d1980_implicit ) 
then   702           call calc_tend_momy( tend, & 
   704                                gsqrt, j13g, j23g, j33g, mapf, & 
   710              ap = - dt * 0.25_rp * ( dens(ks  ,i,j  )*km(ks  ,i,j  ) &
   711                                    + dens(ks+1,i,j  )*km(ks+1,i,j  ) &
   712                                    + dens(ks  ,i,j+1)*km(ks  ,i,j+1) &
   713                                    + dens(ks+1,i,j+1)*km(ks+1,i,j+1) ) &
   714                                  * rfdz(ks) / gsqrt(ks,i,j,
i_xvw)
   715              a(ks,i,j) = ap * rcdz(ks) / gsqrt(ks,i,j,
i_xvz)
   717              b(ks,i,j) = - a(ks,i,j) + 0.5_rp * ( dens(ks,i,j)+dens(ks,i,j+1) )
   719                 c(k,i,j) = ap * rcdz(k) / gsqrt(k,i,j,
i_xvz)
   720                 ap = - dt * 0.25_rp * ( dens(k  ,i,j  )*km(k  ,i,j  ) &
   721                                       + dens(k+1,i,j  )*km(k+1,i,j  ) &
   722                                       + dens(k  ,i,j+1)*km(k  ,i,j+1) &
   723                                       + dens(k+1,i,j+1)*km(k+1,i,j+1) ) &
   724                                     * rfdz(k) / gsqrt(k,i,j,
i_xvw)
   725                 a(k,i,j) = ap * rcdz(k) / gsqrt(k,i,j,
i_xvz)
   726                 b(k,i,j) = - a(k,i,j) - c(k,i,j) + 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) )
   729              c(ke,i,j) = ap * rcdz(ke) / gsqrt(ke,i,j,
i_xvz)
   730              b(ke,i,j) = - c(ke,i,j) + 0.5_rp * ( dens(ke,i,j)+dens(ke,i,j+1) )
   736              call diffusion_solver( &
   738                   a(:,i,j), b(:,i,j), c(:,i,j), d, & 
   742                 qflx_sgs_momy(k,i,j,
zdir) = qflx_sgs_momy(k,i,j,
zdir) &
   743                      - 0.25_rp * ( dens(k  ,i,j  )*km(k  ,i,j  ) &
   744                                  + dens(k+1,i,j  )*km(k+1,i,j  ) &
   745                                  + dens(k  ,i,j+1)*km(k  ,i,j+1) &
   746                                  + dens(k+1,i,j+1)*km(k+1,i,j+1) ) &
   747                      * dt * ( tend(k+1,i,j) - tend(k,i,j) ) * rfdz(k) / gsqrt(k,i,j,
i_xvw)
   757        if ( atmos_phy_tb_d1980_implicit ) 
then   762              ap = - dt * 0.25_rp * ( dens(ks,i,j)+dens(ks+1,i,j) ) &
   763                                  * ( kh(ks,i,j)+kh(ks+1,i,j) ) &
   764                                  * rfdz(ks) / gsqrt(ks,i,j,
i_xyw)
   765              a(ks,i,j) = ap * rcdz(ks) / gsqrt(ks,i,j,
i_xyz)
   767              b(ks,i,j) = - a(ks,i,j) + dens(ks,i,j)
   769                 c(k,i,j) = ap * rcdz(k) / gsqrt(k,i,j,
i_xyz)
   770                 ap = - dt * 0.25_rp * ( dens(k,i,j)+dens(k+1,i,j) ) &
   771                                     * ( kh(k,i,j)+kh(k+1,i,j) ) &
   772                                    * rfdz(k) / gsqrt(k,i,j,
i_xyw)
   773                 a(k,i,j) = ap * rcdz(k) / gsqrt(k,i,j,
i_xyz)
   774                 b(k,i,j) = - a(k,i,j) - c(k,i,j) + dens(k,i,j)
   777              c(ke,i,j) = ap * rcdz(ke) / gsqrt(ke,i,j,
i_xyz)
   778              b(ke,i,j) = - c(ke,i,j) + dens(ke,i,j)
   785        call calc_flux_phi( &
   787             dens, pott, kh, 1.0_rp, &
   788             gsqrt, j13g, j23g, j33g, mapf, &
   790             atmos_phy_tb_d1980_implicit, &
   800        if ( iq == i_tke ) 
then   801           qflx_sgs_rhoq(:,:,:,:,iq) = 0.0_rp
   811           call calc_flux_phi( &
   812                qflx_sgs_rhoq(:,:,:,:,iq), &
   813                dens, qtrc(:,:,:,iq), kh, 1.0_rp, &
   814                gsqrt, j13g, j23g, j33g, mapf, &
   816                atmos_phy_tb_d1980_implicit, &
   822        iis = iundef; iie = iundef; jjs = iundef; jje = iundef
   836        if ( atmos_phy_tb_d1980_implicit ) 
then   841              ap = - dt * 0.25_rp * ( dens(ks,i,j)+dens(ks+1,i,j) ) &
   842                                  * 2.0_rp * ( km(ks,i,j)+km(ks+1,i,j) ) &
   843                                  * rfdz(ks) / gsqrt(ks,i,j,
i_xyw)
   844              a(ks,i,j) = ap * rcdz(ks) / gsqrt(ks,i,j,
i_xyz)
   846              b(ks,i,j) = - a(ks,i,j) + dens(ks,i,j)
   848                 c(k,i,j) = ap * rcdz(k) / gsqrt(k,i,j,
i_xyz)
   849                 ap = - dt * 0.25_rp * ( dens(k,i,j)+dens(k+1,i,j) ) &
   850                                     * 2.0_rp * ( km(k,i,j)+km(k+1,i,j) ) &
   851                                    * rfdz(k) / gsqrt(k,i,j,
i_xyw)
   852                 a(k,i,j) = ap * rcdz(k) / gsqrt(k,i,j,
i_xyz)
   853                 b(k,i,j) = - a(k,i,j) - c(k,i,j) + dens(k,i,j)
   856              c(ke,i,j) = ap * rcdz(ke) / gsqrt(ke,i,j,
i_xyz)
   857              b(ke,i,j) = - c(ke,i,j) + dens(ke,i,j)
   864        call calc_flux_phi( &
   866             dens, qtrc(:,:,:,i_tke), km, 2.0_rp, & 
   867             gsqrt, j13g, j23g, j33g, mapf,       & 
   869             atmos_phy_tb_d1980_implicit,         & 
   872        call calc_tend_phi( rhoq_t(:,:,:,i_tke),           & 
   874                            gsqrt, j13g, j23g, j33g, mapf, & 
   879           rhoq_t(k,i,j,i_tke) = max( &
   880                  rhoq_t(k,i,j,i_tke) &
   881                + ( km(k,i,j) * s2(k,i,j) &
   882                  - kh(k,i,j) * n2(k,i,j) &
   883                  - ( c1 + c2*l(k,i,j)/delta(k,i,j) ) * qtrc(k,i,j,i_tke)**(1.5_rp) / l(k,i,j) ) * dens(k,i,j), &
   884                  - qtrc(k,i,j,i_tke) * dens(k,i,j) / 
real(dt,kind=RP) )
   889        i = iundef; j = iundef; k = iundef
 integer, public is
start point of inner domain: x, local 
 
subroutine, public atmos_phy_tb_calc_tend_momz(MOMZ_t_TB, QFLX_MOMZ, GSQRT, J13G, J23G, J33G, MAPF, IIS, IIE, JJS, JJE)
 
integer, public je
end point of inner domain: y, local 
 
real(rp), dimension(:), allocatable, public grid_rcdy
reciprocal of center-dy 
 
subroutine, public atmos_phy_tb_diffusion_solver(phi, a, b, c, d, KE_TB)
 
subroutine, public atmos_phy_tb_calc_flux_phi(qflx_phi, DENS, PHI, Kh, FACT, GSQRT, J13G, J23G, J33G, MAPF, a, b, c, dt, implicit, IIS, IIE, JJS, JJE)
 
integer, public iblock
block size for cache blocking: x 
 
subroutine, public atmos_phy_tb_calc_tend_momy(MOMY_t_TB, QFLX_MOMY, GSQRT, J13G, J23G, J33G, MAPF, IIS, IIE, JJS, JJE)
 
real(rp), dimension(:), allocatable, public grid_rcdx
reciprocal of center-dx 
 
integer, parameter, public zdir
 
integer, parameter, public ydir
 
integer, parameter, public xdir
 
logical, dimension(qa_max), public tracer_advc
 
real(rp), dimension(:), allocatable, public grid_rfdy
reciprocal of face-dy 
 
real(rp), dimension(:), allocatable, public grid_rcdz
reciprocal of center-dz 
 
subroutine, public atmos_phy_tb_calc_tend_phi(phi_t_TB, QFLX_phi, GSQRT, J13G, J23G, J33G, MAPF, IIS, IIE, JJS, JJE)
 
subroutine, public atmos_phy_tb_calc_tend_momx(MOMX_t_TB, QFLX_MOMX, GSQRT, J13G, J23G, J33G, MAPF, IIS, IIE, JJS, JJE)
 
real(rp), dimension(:), allocatable, public grid_fdz
z-length of grid(k+1) to grid(k) [m] 
 
integer, public jblock
block size for cache blocking: y 
 
real(rp), public const_grav
standard acceleration of gravity [m/s2] 
 
integer, public js
start point of inner domain: y, local 
 
subroutine, public atmos_phy_tb_calc_strain_tensor(S33_C, S11_C, S22_C, S31_C, S12_C, S23_C, S12_Z, S23_X, S31_Y, S2, DENS, MOMZ, MOMX, MOMY, GSQRT, J13G, J23G, J33G, MAPF)
 
module ATMOSPHERE / Physics Turbulence 
 
integer, public ie
end point of inner domain: x, local 
 
real(rp), dimension(:), allocatable, public grid_rfdx
reciprocal of face-dx 
 
real(rp), dimension(:), allocatable, public grid_rfdz
reciprocal of face-dz