Changeset 2765 for palm/trunk
- Timestamp:
- Jan 22, 2018 11:34:58 AM (7 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/check_parameters.f90
r2746 r2765 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Renamed simulation_time_since_reference to 28 ! time_to_be_simulated_from_reference_point 29 ! 30 ! 2746 2018-01-15 12:06:04Z suehring 27 31 ! Move flag plant canopy to modules 28 32 ! … … 666 670 REAL(wp) :: gradient !< 667 671 REAL(wp) :: remote = 0.0_wp !< 668 REAL(wp) :: simulation_time_since_reference!<672 REAL(wp) :: time_to_be_simulated_from_reference_point !< 669 673 670 674 … … 774 778 ENDIF 775 779 776 simulation_time_since_reference = end_time -coupling_start_time780 time_to_be_simulated_from_reference_point = end_time-coupling_start_time 777 781 778 782 IF ( myid == 0 ) THEN 779 CALL MPI_SEND( simulation_time_since_reference, 1, MPI_REAL, target_id,&780 14, comm_inter, ierr )783 CALL MPI_SEND( time_to_be_simulated_from_reference_point, 1, & 784 MPI_REAL, target_id, 14, comm_inter, ierr ) 781 785 CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 14, comm_inter, & 782 786 status, ierr ) … … 784 788 CALL MPI_BCAST( remote, 1, MPI_REAL, 0, comm2d, ierr) 785 789 786 IF ( simulation_time_since_reference/= remote ) THEN790 IF ( time_to_be_simulated_from_reference_point /= remote ) THEN 787 791 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 788 '": simulation_time_since_reference = ', & 789 simulation_time_since_reference, '& is not equal to ', & 790 'simulation_time_since_reference_remote = ', remote 792 '": time_to_be_simulated_from_reference_point = ', & 793 time_to_be_simulated_from_reference_point, '& is not equal ', & 794 'to time_to_be_simulated_from_reference_point_remote = ', & 795 remote 791 796 CALL message( 'check_parameters', 'PA0008', 1, 2, 0, 6, 0 ) 792 797 ENDIF -
palm/trunk/SOURCE/land_surface_model_mod.f90
r2735 r2765 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Major bugfix in calculation of f_shf for vertical surfaces 28 ! 29 ! 2735 2018-01-11 12:01:27Z suehring 27 30 ! output of r_a moved from land-surface to consider also urban-type surfaces 28 31 ! … … 1770 1773 ! ENDIF 1771 1774 ! 1772 !-- Calculate aerodynamical resistance. For horizontal and vertical 1773 !-- surfaces MOST is applied. Moreover, for vertical surfaces, resistance 1774 !-- can be obtain via parameterization of Mason (2000) / 1775 !-- Krayenhoff and Voogt (2006). 1775 !-- Calculation of r_a for vertical surfaces 1776 !-- 1777 !-- heat transfer coefficient for forced convection along vertical walls 1778 !-- follows formulation in TUF3d model (Krayenhoff & Voogt, 2006) 1779 !-- 1780 !-- H = httc (Tsfc - Tair) 1781 !-- httc = rw * (11.8 + 4.2 * Ueff) - 4.0 1782 !-- 1783 !-- rw: wall patch roughness relative to 1.0 for concrete 1784 !-- Ueff: effective wind speed 1785 !-- - 4.0 is a reduction of Rowley et al (1930) formulation based on 1786 !-- Cole and Sturrock (1977) 1787 !-- 1788 !-- Ucan: Canyon wind speed 1789 !-- wstar: convective velocity 1790 !-- Qs: surface heat flux 1791 !-- zH: height of the convective layer 1792 !-- wstar = (g/Tcan*Qs*zH)**(1./3.) 1793 1794 !-- Effective velocity components must always 1795 !-- be defined at scalar grid point. The wall normal component is 1796 !-- obtained by simple linear interpolation. ( An alternative would 1797 !-- be an logarithmic interpolation. ) 1798 !-- A roughness lenght of 0.001 is assumed for concrete (the inverse, 1799 !-- 1000 is used in the nominator for scaling) 1776 1800 !-- To do: detailed investigation which approach gives more reliable results! 1777 1801 !-- Please note, in case of very small friction velocity, e.g. in little … … 1782 1806 ( surf%ts(m) * surf%us(m) + 1.0E-20_wp ) ) 1783 1807 ELSE 1784 surf%r_a(m) = 1.0_wp / ( 11.8_wp + 4.2_wp * & 1808 surf%r_a(m) = rho_cp / ( surf%z0(m) * 1000.0_wp & 1809 * ( 11.8_wp + 4.2_wp * & 1785 1810 SQRT( MAX( ( ( u(k,j,i) + u(k,j,i+1) ) * 0.5_wp )**2 + & 1786 1811 ( ( v(k,j,i) + v(k,j+1,i) ) * 0.5_wp )**2 + & 1787 1812 ( ( w(k,j,i) + w(k-1,j,i) ) * 0.5_wp )**2, & 1788 1813 0.01_wp ) ) & 1789 )1814 ) - 4.0_wp ) 1790 1815 ENDIF 1791 1816 ! -
palm/trunk/SOURCE/modules.f90
r2746 r2765 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Set initial value for time_since_reference_point 28 ! 29 ! 2746 2018-01-15 12:06:04Z suehring 27 30 ! +plant_canopy 28 31 ! … … 1451 1454 REAL(wp) :: time_restart = 9999999.9_wp !< time at which run shall be terminated and restarted 1452 1455 REAL(wp) :: time_run_control = 0.0_wp !< time since last RUN_CONTROL output 1453 REAL(wp) :: time_since_reference_point 1456 REAL(wp) :: time_since_reference_point = 0.0_wp !< time after atmosphere-ocean coupling has been activated, or time after spinup phase of LSM has been finished 1454 1457 REAL(wp) :: top_heatflux = 9999999.9_wp !< namelist parameter 1455 1458 REAL(wp) :: top_momentumflux_u = 9999999.9_wp !< namelist parameter -
palm/trunk/SOURCE/urban_surface_mod.f90
r2750 r2765 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Major bugfix in calculation of f_shf. Adjustment of roughness lengths in 29 ! building_pars 30 ! 31 ! 2750 2018-01-15 16:26:51Z knoop 28 32 ! Move flag plant canopy to modules 29 33 ! … … 388 392 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, 0.3_wp, 0.3_wp, 0.3_wp, & !parameter 6-11 389 393 296.15_wp, 293.15_wp, 0.9_wp, 0.9_wp, 0.01_wp, 0.99_wp, & !parameter 12-17 390 0.0 1_wp, 0.001_wp, 4.0_wp, & !parameter 18-20394 0.001_wp, 0.0001_wp, 4.0_wp, & !parameter 18-20 391 395 1.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 3.0_wp, & !parameter 21-25 392 396 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, & !parameter 26-28 … … 399 403 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, 0.3_wp, 0.3_wp, 0.3_wp, & !parameter 6-11 400 404 296.15_wp, 293.15_wp, 0.9_wp, 0.9_wp, 0.01_wp, 0.99_wp, & !parameter 12-17 401 0.0 1_wp, 0.001_wp, 4.0_wp, & !parameter 18-20405 0.001_wp, 0.0001_wp, 4.0_wp, & !parameter 18-20 402 406 1.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 3.0_wp, & !parameter 21-25 403 407 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, & !parameter 26-28 … … 410 414 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, 0.3_wp, 0.3_wp, 0.3_wp, & !parameter 6-11 411 415 296.15_wp, 293.15_wp, 0.9_wp, 0.9_wp, 0.01_wp, 0.99_wp, & !parameter 12-17 412 0.0 1_wp, 0.001_wp, 4.0_wp, & !parameter 18-20416 0.001_wp, 0.0001_wp, 4.0_wp, & !parameter 18-20 413 417 1.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 3.0_wp, & !parameter 21-25 414 418 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, & !parameter 26-28 … … 432 436 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, 0.3_wp, 0.3_wp, 0.3_wp, & !parameter 6-11 433 437 296.15_wp, 293.15_wp, 0.9_wp, 0.9_wp, 0.01_wp, 0.99_wp, & !parameter 12-17 434 0.0 1_wp, 0.001_wp, 4.0_wp, & !parameter 18-20438 0.001_wp, 0.0001_wp, 4.0_wp, & !parameter 18-20 435 439 1.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 3.0_wp, & !parameter 21-25 436 440 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, & !parameter 26-28 … … 443 447 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, 0.3_wp, 0.3_wp, 0.3_wp, & !parameter 6-11 444 448 296.15_wp, 293.15_wp, 0.9_wp, 0.9_wp, 0.01_wp, 0.99_wp, & !parameter 12-17 445 0.0 1_wp, 0.001_wp, 4.0_wp, & !parameter 18-20449 0.001_wp, 0.0001_wp, 4.0_wp, & !parameter 18-20 446 450 1.0_wp, 0.0_wp, 0.0_wp, 0.0_wp, 3.0_wp, & !parameter 21-25 447 451 1000000.0_wp, 1000000.0_wp, 1000000.0_wp, & !parameter 26-28 … … 6749 6753 INTEGER(iwp) :: i, j, k, l, d, m !< running indices 6750 6754 6751 REAL(wp) :: u1,v1,w1 !< near wall u,v,w6752 6755 REAL(wp) :: stend !< surface tendency 6753 6756 REAL(wp) :: stend_window !< surface tendency … … 6766 6769 REAL(wp) :: lambda_surface_window !< current value of lambda_surface (heat conductivity between air and window) 6767 6770 REAL(wp) :: lambda_surface_green !< current value of lambda_surface (heat conductivity between air and greeb wall) 6768 REAL(wp) :: Ueff !< effective wind speed for calculation of heat transfer coefficients6769 REAL(wp) :: httc !< heat transfer coefficient6770 REAL(wp) :: httc_window !< heat transfer coefficient window6771 REAL(wp) :: httc_green !< heat transfer coefficient green wall6772 6771 REAL(wp), DIMENSION(nzub:nzut) :: exn !< value of the Exner function in layers 6773 6772 … … 7044 7043 !-- obtained by simple linear interpolation. ( An alternative would 7045 7044 !-- be an logarithmic interpolation. ) 7046 #if ! defined( __nopointer ) 7047 u1 = ( u(k,j,i) + u(k,j,i+1) ) * 0.5_wp 7048 v1 = ( v(k,j,i) + v(k,j+1,i) ) * 0.5_wp 7049 w1 = ( w(k,j,i) + w(k-1,j,i) ) * 0.5_wp 7050 #endif 7051 7052 Ueff = SQRT( u1**2 + v1**2 + w1**2 ) 7053 httc = surf_usm_v(l)%z0(m) * & 7054 ( 11.8_wp + 4.2_wp * Ueff ) - 4.0_wp 7055 f_shf = httc 7056 f_shf_window = httc 7057 f_shf_green = httc 7045 !-- A roughness lenght of 0.001 is assumed for concrete (the inverse, 7046 !-- 1000 is used in the nominator for scaling) 7047 surf_usm_v(l)%r_a(m) = rho_cp / ( surf_usm_v(l)%z0(m) * 1000.0_wp & 7048 * ( 11.8_wp + 4.2_wp * & 7049 SQRT( MAX( ( ( u(k,j,i) + u(k,j,i+1) ) * 0.5_wp )**2 + & 7050 ( ( v(k,j,i) + v(k,j+1,i) ) * 0.5_wp )**2 + & 7051 ( ( w(k,j,i) + w(k-1,j,i) ) * 0.5_wp )**2, & 7052 0.01_wp ) ) & 7053 ) - 4.0_wp ) 7054 7055 f_shf = rho_cp / surf_usm_v(l)%r_a(m) 7056 f_shf_window = rho_cp / surf_usm_v(l)%r_a(m) 7057 f_shf_green = rho_cp / surf_usm_v(l)%r_a(m) 7058 7059 7058 7060 7059 7061 !-- add LW up so that it can be removed in prognostic equation
Note: See TracChangeset
for help on using the changeset viewer.