Changeset 978 for palm/trunk/SOURCE/prognostic_equations.f90
- Timestamp:
- Aug 9, 2012 8:28:32 AM (12 years ago)
- Location:
- palm/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk
- Property svn:mergeinfo changed
/palm/branches/fricke (added) merged: 942-944,967-968,971-972,977
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE
- Property svn:mergeinfo changed
/palm/branches/fricke/SOURCE (added) merged: 967-968,971-972,977
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE/prognostic_equations.f90
r941 r978 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! km_damp_x and km_damp_y removed in calls of diffusion_u and diffusion_v 7 ! add ptdf_x, ptdf_y for damping the potential temperature at the inflow 8 ! boundary in case of non-cyclic lateral boundaries 9 ! Bugfix: first thread index changes for WS-scheme at the inflow 7 10 ! 8 11 ! Former revisions: … … 201 204 ENDIF 202 205 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) THEN 203 CALL diffusion_u( i, j, ddzu, ddzw, km_m, km_damp_y, tend, u_m,&204 usws _m, uswst_m, v_m, w_m )206 CALL diffusion_u( i, j, ddzu, ddzw, km_m, tend, u_m, usws_m, & 207 uswst_m, v_m, w_m ) 205 208 ELSE 206 CALL diffusion_u( i, j, ddzu, ddzw, km, km_damp_y, tend, u, usws, &207 uswst,v, w )209 CALL diffusion_u( i, j, ddzu, ddzw, km, tend, u, usws, uswst, & 210 v, w ) 208 211 ENDIF 209 212 CALL coriolis( i, j, 1 ) … … 289 292 ENDIF 290 293 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) THEN 291 CALL diffusion_v( i, j, ddzu, ddzw, km_m, km_damp_x, tend, u_m, &292 v _m, vsws_m, vswst_m, w_m )294 CALL diffusion_v( i, j, ddzu, ddzw, km_m, tend, u_m, v_m, & 295 vsws_m, vswst_m, w_m ) 293 296 ELSE 294 CALL diffusion_v( i, j, ddzu, ddzw, km, km_damp_x, tend, u, v,&295 vsws , vswst, w )297 CALL diffusion_v( i, j, ddzu, ddzw, km, tend, u, v, vsws, & 298 vswst, w ) 296 299 ENDIF 297 300 CALL coriolis( i, j, 2 ) … … 373 376 ENDIF 374 377 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) THEN 375 CALL diffusion_w( i, j, ddzu, ddzw, km_m, km_damp_x, km_damp_y, & 376 tend, u_m, v_m, w_m ) 378 CALL diffusion_w( i, j, ddzu, ddzw, km_m, tend, u_m, v_m, w_m ) 377 379 ELSE 378 CALL diffusion_w( i, j, ddzu, ddzw, km, km_damp_x, km_damp_y, & 379 tend, u, v, w ) 380 CALL diffusion_w( i, j, ddzu, ddzw, km, tend, u, v, w ) 380 381 ENDIF 381 382 CALL coriolis( i, j, 3 ) … … 524 525 DO k = nzb_s_inner(j,i)+1, nzt 525 526 pt_p(k,j,i) = ( 1 - sat ) * pt_m(k,j,i) + sat * pt(k,j,i) + & 526 dt_3d * ( 527 dt_3d * ( & 527 528 sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) & 528 ) - & 529 tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) ) 529 ) - & 530 tsc(5) * ( pt(k,j,i) - pt_init(k) ) * & 531 ( rdf_sc(k) + ptdf_x(i) + ptdf_y(j) ) 530 532 ENDDO 531 533 … … 983 985 IF ( tsc(2) == 2.0 .OR. timestep_scheme(1:5) == 'runge' ) THEN 984 986 IF ( ws_scheme_mom ) THEN 985 IF ( outflow_l.AND. i_omp_start == nxl ) THEN987 IF ( ( inflow_l .OR. outflow_l ) .AND. i_omp_start == nxl ) THEN 986 988 ! CALL local_diss( i, j, u) ! dissipation control 987 989 CALL advec_u_ws( i, j, i_omp_start + 1, tn ) … … 997 999 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) & 998 1000 THEN 999 CALL diffusion_u( i, j, ddzu, ddzw, km_m, km_damp_y, tend,&1000 u _m, usws_m, uswst_m, v_m, w_m )1001 ELSE 1002 CALL diffusion_u( i, j, ddzu, ddzw, km, km_damp_y, tend, u, &1003 usws , uswst, v, w )1001 CALL diffusion_u( i, j, ddzu, ddzw, km_m, tend, u_m, & 1002 usws_m, uswst_m, v_m, w_m ) 1003 ELSE 1004 CALL diffusion_u( i, j, ddzu, ddzw, km, tend, u, usws, & 1005 uswst, v, w ) 1004 1006 ENDIF 1005 1007 CALL coriolis( i, j, 1 ) … … 1066 1068 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) & 1067 1069 THEN 1068 CALL diffusion_v( i, j, ddzu, ddzw, km_m, km_damp_x, tend,&1069 u_m, v_m,vsws_m, vswst_m, w_m )1070 ELSE 1071 CALL diffusion_v( i, j, ddzu, ddzw, km, km_damp_x, tend, u, v, &1072 vsws , vswst, w )1070 CALL diffusion_v( i, j, ddzu, ddzw, km_m, tend, u_m, v_m, & 1071 vsws_m, vswst_m, w_m ) 1072 ELSE 1073 CALL diffusion_v( i, j, ddzu, ddzw, km, tend, u, v, vsws, & 1074 vswst, w ) 1073 1075 ENDIF 1074 1076 CALL coriolis( i, j, 2 ) … … 1130 1132 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) & 1131 1133 THEN 1132 CALL diffusion_w( i, j, ddzu, ddzw, km_m, km_damp_x,&1133 km_damp_y, tend, u_m, v_m,w_m )1134 CALL diffusion_w( i, j, ddzu, ddzw, km_m, tend, u_m, v_m, & 1135 w_m ) 1134 1136 ELSE 1135 CALL diffusion_w( i, j, ddzu, ddzw, km, km_damp_x, km_damp_y, & 1136 tend, u, v, w ) 1137 CALL diffusion_w( i, j, ddzu, ddzw, km, tend, u, v, w ) 1137 1138 ENDIF 1138 1139 CALL coriolis( i, j, 3 ) … … 1240 1241 dt_3d * ( & 1241 1242 tsc(2) * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) & 1242 ) - & 1243 tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) ) 1243 ) - & 1244 tsc(5) * ( pt(k,j,i) - pt_init(k) ) * & 1245 ( rdf_sc(k) + ptdf_x(i) + ptdf_y(j) ) 1244 1246 ENDDO 1245 1247 … … 1540 1542 ENDIF 1541 1543 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) THEN 1542 CALL diffusion_u( ddzu, ddzw, km_m, km_damp_y, tend, u_m, usws_m, &1543 uswst_m,v_m, w_m )1544 CALL diffusion_u( ddzu, ddzw, km_m, tend, u_m, usws_m, uswst_m, & 1545 v_m, w_m ) 1544 1546 ELSE 1545 CALL diffusion_u( ddzu, ddzw, km, km_damp_y,tend, u, usws, uswst, v, w )1547 CALL diffusion_u( ddzu, ddzw, km, tend, u, usws, uswst, v, w ) 1546 1548 ENDIF 1547 1549 CALL coriolis( 1 ) … … 1634 1636 ENDIF 1635 1637 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) THEN 1636 CALL diffusion_v( ddzu, ddzw, km_m, km_damp_x, tend, u_m, v_m, vsws_m, &1637 vswst_m,w_m )1638 CALL diffusion_v( ddzu, ddzw, km_m, tend, u_m, v_m, vsws_m, vswst_m, & 1639 w_m ) 1638 1640 ELSE 1639 CALL diffusion_v( ddzu, ddzw, km, km_damp_x,tend, u, v, vsws, vswst, w )1641 CALL diffusion_v( ddzu, ddzw, km, tend, u, v, vsws, vswst, w ) 1640 1642 ENDIF 1641 1643 CALL coriolis( 2 ) … … 1725 1727 ENDIF 1726 1728 IF ( tsc(2) == 2.0 .AND. timestep_scheme(1:8) == 'leapfrog' ) THEN 1727 CALL diffusion_w( ddzu, ddzw, km_m, km_damp_x, km_damp_y, tend, u_m, & 1728 v_m, w_m ) 1729 CALL diffusion_w( ddzu, ddzw, km_m, tend, u_m, v_m, w_m ) 1729 1730 ELSE 1730 CALL diffusion_w( ddzu, ddzw, km, km_damp_x, km_damp_y,tend, u, v, w )1731 CALL diffusion_w( ddzu, ddzw, km, tend, u, v, w ) 1731 1732 ENDIF 1732 1733 CALL coriolis( 3 ) … … 1877 1878 DO j = nys, nyn 1878 1879 DO k = nzb_s_inner(j,i)+1, nzt 1879 pt_p(k,j,i) = ( 1 - sat ) * pt_m(k,j,i) + sat * pt(k,j,i) + & 1880 dt_3d * ( & 1881 sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i) & 1882 ) - & 1883 tsc(5) * rdf_sc(k) * ( pt(k,j,i) - pt_init(k) ) 1880 pt_p(k,j,i) = ( 1 - sat ) * pt_m(k,j,i) + sat * pt(k,j,i) + & 1881 dt_3d * ( & 1882 sbt * tend(k,j,i) + tsc(3) * tpt_m(k,j,i)& 1883 ) - & 1884 tsc(5) * ( pt(k,j,i) - pt_init(k) ) * & 1885 ( rdf_sc(k) + ptdf_x(i) + ptdf_y(j) ) 1884 1886 ENDDO 1885 1887 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.