Changeset 4493 for palm/trunk/SOURCE
- Timestamp:
- Apr 10, 2020 9:49:43 AM (5 years ago)
- Location:
- palm/trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk
- Property svn:mergeinfo changed
/palm/branches/resler merged: 4491-4492
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE
- Property svn:mergeinfo changed
/palm/branches/resler/SOURCE merged: 4491-4492
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE/Makefile
- Property svn:mergeinfo changed
/palm/branches/resler/SOURCE/Makefile merged: 4491
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE/biometeorology_mod.f90
- Property svn:mergeinfo changed
/palm/branches/resler/SOURCE/biometeorology_mod.f90 merged: 4491
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE/check_parameters.f90
- Property svn:mergeinfo changed
/palm/branches/resler/SOURCE/check_parameters.f90 merged: 4491
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE/init_3d_model.f90
- Property svn:mergeinfo changed
/palm/branches/resler/SOURCE/init_3d_model.f90 merged: 4491
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE/radiation_model_mod.f90
- Property svn:mergeinfo changed
/palm/branches/resler/SOURCE/radiation_model_mod.f90 merged: 4491-4492
r4481 r4493 28 28 ! ----------------- 29 29 ! $Id$ 30 ! Avoid unstable direct normal radiation near horizon 31 ! 32 ! 4481 2020-03-31 18:55:54Z maronga 30 33 ! use statement for exchange horiz added 31 34 ! … … 454 457 sky_trans, & !< sky transmissivity 455 458 time_radiation = 0.0_wp, & !< time since last call of radiation code 456 trace_fluxes_above = -1.0_wp !< NAMELIST option for debug tracing of large radiative fluxes (W/m2;W/m3) 459 trace_fluxes_above = -1.0_wp, & !< NAMELIST option for debug tracing of large radiative fluxes (W/m2;W/m3) 460 min_stable_coszen = 0.0262_wp !< 1.5 deg above horizon, eliminates most of circumsolar 457 461 458 462 INTEGER(iwp) :: day_of_year !< day of the current year … … 5806 5810 REAL(wp) :: area_surf !< total area of surfaces in all processor 5807 5811 REAL(wp) :: area_hor !< total horizontal area of domain in all processor 5812 REAL(wp) :: sun_direct_factor !< factor for direct normal radiation from direct horizontal 5808 5813 #if defined( __parallel ) 5809 5814 REAL(wp), DIMENSION(1:7) :: combine_allreduce !< dummy array used to combine several MPI_ALLREDUCE calls … … 6019 6024 mrtinlw(imrt) = mrtsky(imrt) * rad_lw_in_diff(j,i) 6020 6025 ENDDO 6021 6022 !-- direct radiation6026 ! 6027 !-- Direct radiation 6023 6028 IF ( cos_zenith > 0 ) THEN 6024 !--Identify solar direction vector (discretized number) 1) 6025 !-- 6029 ! 6030 !-- To avoid numerical instability near horizon depending on what direct 6031 !-- radiation is used (slightly different zenith angle, considering 6032 !-- circumsolar etc.), we use a minimum value for cos_zenith 6033 sun_direct_factor = 1._wp / MAX(min_stable_coszen, cos_zenith) 6034 ! 6035 !-- Identify solar direction vector (discretized number) (1) 6026 6036 j = FLOOR(ACOS(cos_zenith) / pi * raytrace_discrete_elevs) 6027 6037 i = MODULO(NINT(ATAN2(sun_dir_lon, sun_dir_lat) & … … 6034 6044 i = surfl(ix, isurf) 6035 6045 surfinswdir(isurf) = rad_sw_in_dir(j,i) * & 6036 costheta(surfl(id, isurf)) * dsitrans(isurf, isd) / cos_zenith6046 costheta(surfl(id, isurf)) * dsitrans(isurf, isd) * sun_direct_factor 6037 6047 ENDDO 6038 6048 ! … … 6042 6052 i = mrtbl(ix, imrt) 6043 6053 mrtinsw(imrt) = mrtinsw(imrt) + mrtdsit(imrt, isd) * rad_sw_in_dir(j,i) & 6044 / cos_zenith/ 4.0_wp ! normal to sphere6054 * sun_direct_factor / 4.0_wp ! normal to sphere 6045 6055 ENDDO 6046 6056 ENDIF … … 6085 6095 pc_abs_frac = 1.0_wp - exp(pc_abs_eff * lad_s(k,j,i)) 6086 6096 ! 6087 !-- isd has already been established, see 1)6097 !-- isd has already been established, see (1) 6088 6098 pcbinswdir(ipcgb) = rad_sw_in_dir(j, i) * pc_box_area & 6089 6099 * pc_abs_frac * dsitransc(ipcgb, isd) … … 7867 7877 7868 7878 !-- 7869 !-- Raytrace to canopy boxes to fill dsitransc TODO optimize 7879 !-- Raytrace to canopy boxes to fill dsitransc 7880 !-- TODO: consider replacing by DSI rays toward surfaces 7870 7881 dsitransc(:,:) = 0._wp 7871 7882 az0 = 0._wp - Property svn:mergeinfo changed
-
palm/trunk/SOURCE/urban_surface_mod.f90
r4481 r4493 28 28 ! ----------------- 29 29 ! $Id$ 30 ! J.Resler, 2020/03/19 31 ! - remove reading of deprecated input parameters c_surface and lambda_surf 32 ! - and calculate them from parameters of the outer wall/roof layer 33 ! 34 ! 4481 2020-03-31 18:55:54Z maronga 30 35 ! use statement for exchange horiz added 31 36 ! … … 219 224 !> Further work: 220 225 !> ------------- 221 !> 1. Remove global arrays surfouts, surfoutl and only keep track of radiosity222 !> from surfaces that are visible from local surfaces (i.e. there is a SVF223 !> where target is local). To do that, radiosity will be exchanged after each224 !> reflection step using MPI_Alltoall instead of current MPI_Allgather.225 !>226 !> 2. Temporarily large values of surface heat flux can be observed, up to227 !> 1.2 Km/s, which seem to be not realistic.228 !>229 226 !> @todo Output of _av variables in case of restarts 230 227 !> @todo Revise flux conversion in energy-balance solver 231 !> @todo Check optimizations for RMA operations232 !> @todo Alternatives for MPI_WIN_ALLOCATE? (causes problems with openmpi)233 !> @todo Check for load imbalances in CPU measures, e.g. for exchange_horiz_prog234 !> factor 3 between min and max time235 228 !> @todo Check divisions in wtend (etc.) calculations for possible division 236 229 !> by zero, e.g. in case fraq(0,m) + fraq(1,m) = 0?! 237 230 !> @todo Use unit 90 for OPEN/CLOSE of input files (FK) 238 !> @todo Move plant canopy stuff into plant canopy code231 !> @todo remove reading of old csv inputs 239 232 !------------------------------------------------------------------------------! 240 233 MODULE urban_surface_mod … … 375 368 INTEGER(iwp) :: ind_alb_win_gfl = 77 !< index in input list for albedo_type of window fraction ground floor level 376 369 INTEGER(iwp) :: ind_alb_win_r = 115 !< index in input list for albedo_type of window fraction roof 377 INTEGER(iwp) :: ind_c_surface = 45 !< index in input list for heat capacity wall surface378 INTEGER(iwp) :: ind_c_surface_green = 48 !< index in input list for heat capacity green surface379 INTEGER(iwp) :: ind_c_surface_win = 47 !< index in input list for heat capacity window surface380 370 INTEGER(iwp) :: ind_emis_wall_agfl = 14 !< index in input list for wall emissivity, above ground floor level 381 371 INTEGER(iwp) :: ind_emis_wall_gfl = 32 !< index in input list for wall emissivity, ground floor level … … 425 415 INTEGER(iwp) :: ind_lai_w_agfl = 5 !< index in input list for LAI on wall, above ground floor level 426 416 INTEGER(iwp) :: ind_lai_w_gfl = 25 !< index in input list for LAI on wall, ground floor level 427 INTEGER(iwp) :: ind_lambda_surf = 46 !< index in input list for thermal conductivity of wall surface428 INTEGER(iwp) :: ind_lambda_surf_green = 50 !< index in input list for thermal conductivity of green surface429 INTEGER(iwp) :: ind_lambda_surf_win = 49 !< index in input list for thermal conductivity of window surface430 417 INTEGER(iwp) :: ind_tc1_agfl = 9 !< index in input list for thermal conductivity at first wall layer, 431 418 !< above ground floor level … … 3438 3425 END SUBROUTINE usm_init_material_model 3439 3426 3440 3427 3441 3428 !------------------------------------------------------------------------------! 3442 3429 ! Description: … … 3687 3674 surf_usm_h%zw_window(nzb_wall+3,m) = building_pars(ind_thick_4_win_r,building_type) 3688 3675 3689 surf_usm_h%c_surface(m) = building_pars(ind_c_surface,building_type)3690 surf_usm_h%lambda_surf(m) = building_pars(ind_lambda_surf,building_type)3691 surf_usm_h%c_surface_green(m) = building_pars(ind_c_surface_green,building_type)3692 surf_usm_h%lambda_surf_green(m) = building_pars(ind_lambda_surf_green,building_type)3693 surf_usm_h%c_surface_window(m) = building_pars(ind_c_surface_win,building_type)3694 surf_usm_h%lambda_surf_window(m) = building_pars(ind_lambda_surf_win,building_type)3695 3696 3676 surf_usm_h%green_type_roof(m) = building_pars(ind_green_type_roof,building_type) 3697 3677 … … 3849 3829 surf_usm_v(l)%zw_window(nzb_wall+3,m) = building_pars(ind_thick_4_win,building_type) 3850 3830 3851 surf_usm_v(l)%c_surface(m) = building_pars(ind_c_surface,building_type)3852 surf_usm_v(l)%lambda_surf(m) = building_pars(ind_lambda_surf,building_type)3853 surf_usm_v(l)%c_surface_green(m) = building_pars(ind_c_surface_green,building_type)3854 surf_usm_v(l)%lambda_surf_green(m) = building_pars(ind_lambda_surf_green,building_type)3855 surf_usm_v(l)%c_surface_window(m) = building_pars(ind_c_surface_win,building_type)3856 surf_usm_v(l)%lambda_surf_window(m) = building_pars(ind_lambda_surf_win,building_type)3857 3858 3831 ENDDO 3859 3832 ENDDO … … 3953 3926 surf_usm_h%zw_window(nzb_wall+3,m) = building_pars(ind_thick_4_win_r,st) 3954 3927 3955 surf_usm_h%c_surface(m) = building_pars(ind_c_surface,st)3956 surf_usm_h%lambda_surf(m) = building_pars(ind_lambda_surf,st)3957 surf_usm_h%c_surface_green(m) = building_pars(ind_c_surface_green,st)3958 surf_usm_h%lambda_surf_green(m) = building_pars(ind_lambda_surf_green,st)3959 surf_usm_h%c_surface_window(m) = building_pars(ind_c_surface_win,st)3960 surf_usm_h%lambda_surf_window(m) = building_pars(ind_lambda_surf_win,st)3961 3962 3928 surf_usm_h%green_type_roof(m) = building_pars(ind_green_type_roof,st) 3963 3929 … … 4122 4088 surf_usm_v(l)%zw_window(nzb_wall+3,m) = building_pars(ind_thick_4_win,st) 4123 4089 4124 surf_usm_v(l)%c_surface(m) = building_pars(ind_c_surface,st)4125 surf_usm_v(l)%lambda_surf(m) = building_pars(ind_lambda_surf,st)4126 surf_usm_v(l)%c_surface_green(m) = building_pars(ind_c_surface_green,st)4127 surf_usm_v(l)%lambda_surf_green(m) = building_pars(ind_lambda_surf_green,st)4128 surf_usm_v(l)%c_surface_window(m) = building_pars(ind_c_surface_win,st)4129 surf_usm_v(l)%lambda_surf_window(m) = building_pars(ind_lambda_surf_win,st)4130 4131 4132 4090 ENDIF 4133 4091 ENDDO … … 4275 4233 building_pars_f%pars_xy(ind_tc1,j,i) 4276 4234 surf_usm_h%lambda_h(nzb_wall+1,m) = & 4277 building_pars_f%pars_xy(ind_tc1,j,i) 4235 building_pars_f%pars_xy(ind_tc1,j,i) 4278 4236 ENDIF 4279 4237 IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= & … … 4292 4250 building_pars_f%pars_xy(ind_tc1,j,i) 4293 4251 surf_usm_h%lambda_h_green(nzb_wall+1,m) = & 4294 building_pars_f%pars_xy(ind_tc1,j,i) 4252 building_pars_f%pars_xy(ind_tc1,j,i) 4295 4253 ENDIF 4296 4254 IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= & … … 4309 4267 building_pars_f%pars_xy(ind_tc1,j,i) 4310 4268 surf_usm_h%lambda_h_window(nzb_wall+1,m) = & 4311 building_pars_f%pars_xy(ind_tc1,j,i) 4269 building_pars_f%pars_xy(ind_tc1,j,i) 4312 4270 ENDIF 4313 4271 IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= & … … 4415 4373 surf_usm_h%zw_green(nzb_wall+3,m) = & 4416 4374 building_pars_f%pars_xy(ind_thick_4_agfl,j,i) 4417 4418 IF ( building_pars_f%pars_xy(ind_c_surface,j,i) /= &4419 building_pars_f%fill ) &4420 surf_usm_h%c_surface(m) = &4421 building_pars_f%pars_xy(ind_c_surface,j,i)4422 4423 IF ( building_pars_f%pars_xy(ind_lambda_surf,j,i) /= &4424 building_pars_f%fill ) &4425 surf_usm_h%lambda_surf(m) = &4426 building_pars_f%pars_xy(ind_lambda_surf,j,i)4427 4375 ENDDO 4428 4376 … … 4564 4512 building_pars_f%pars_xy(ind_tc1,j,i) 4565 4513 surf_usm_v(l)%lambda_h(nzb_wall+1,m) = & 4566 building_pars_f%pars_xy(ind_tc1,j,i) 4514 building_pars_f%pars_xy(ind_tc1,j,i) 4567 4515 ENDIF 4568 4516 IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= & … … 4581 4529 building_pars_f%pars_xy(ind_tc1,j,i) 4582 4530 surf_usm_v(l)%lambda_h_green(nzb_wall+1,m) = & 4583 building_pars_f%pars_xy(ind_tc1,j,i) 4531 building_pars_f%pars_xy(ind_tc1,j,i) 4584 4532 ENDIF 4585 4533 IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= & … … 4598 4546 building_pars_f%pars_xy(ind_tc1,j,i) 4599 4547 surf_usm_v(l)%lambda_h_window(nzb_wall+1,m) = & 4600 building_pars_f%pars_xy(ind_tc1,j,i) 4548 building_pars_f%pars_xy(ind_tc1,j,i) 4601 4549 ENDIF 4602 4550 IF ( building_pars_f%pars_xy(ind_tc2,j,i) /= & … … 4707 4655 building_pars_f%pars_xy(ind_thick_4_agfl,j,i) 4708 4656 4709 IF ( building_pars_f%pars_xy(ind_c_surface,j,i) /= &4710 building_pars_f%fill ) &4711 surf_usm_v(l)%c_surface(m) = &4712 building_pars_f%pars_xy(ind_c_surface,j,i)4713 4714 IF ( building_pars_f%pars_xy(ind_lambda_surf,j,i) /= &4715 building_pars_f%fill ) &4716 surf_usm_v(l)%lambda_surf(m) = &4717 building_pars_f%pars_xy(ind_lambda_surf,j,i)4718 4719 4657 ENDDO 4720 4658 ENDDO … … 5097 5035 5098 5036 CALL usm_init_material_model() 5037 5038 !-- init skin layer properties 5039 !-- (can be done after initialization of wall layers) 5040 5041 DO m = 1, surf_usm_h%ns 5042 i = surf_usm_h%i(m) 5043 j = surf_usm_h%j(m) 5044 5045 surf_usm_h%c_surface(m) = surf_usm_h%rho_c_wall(nzb_wall,m) * & 5046 surf_usm_h%dz_wall(nzb_wall,m) * 0.25_wp 5047 surf_usm_h%lambda_surf(m) = surf_usm_h%lambda_h(nzb_wall,m) * & 5048 surf_usm_h%ddz_wall(nzb_wall,m) * 2.0_wp 5049 surf_usm_h%c_surface_green(m) = surf_usm_h%rho_c_wall(nzb_wall,m) * & 5050 surf_usm_h%dz_wall(nzb_wall,m) * 0.25_wp 5051 surf_usm_h%lambda_surf_green(m) = surf_usm_h%lambda_h_green(nzb_wall,m) * & 5052 surf_usm_h%ddz_green(nzb_wall,m) * 2.0_wp 5053 surf_usm_h%c_surface_window(m) = surf_usm_h%rho_c_window(nzb_wall,m) * & 5054 surf_usm_h%dz_window(nzb_wall,m) * 0.25_wp 5055 surf_usm_h%lambda_surf_window(m) = surf_usm_h%lambda_h_window(nzb_wall,m) * & 5056 surf_usm_h%ddz_window(nzb_wall,m) * 2.0_wp 5057 ENDDO 5058 5059 DO l = 0, 3 5060 DO m = 1, surf_usm_v(l)%ns 5061 i = surf_usm_v(l)%i(m) + surf_usm_v(l)%ioff 5062 j = surf_usm_v(l)%j(m) + surf_usm_v(l)%joff 5063 5064 surf_usm_v(l)%c_surface(m) = surf_usm_v(l)%rho_c_wall(nzb_wall,m) * & 5065 surf_usm_v(l)%dz_wall(nzb_wall,m) * 0.25_wp 5066 surf_usm_v(l)%lambda_surf(m) = surf_usm_v(l)%lambda_h(nzb_wall,m) * & 5067 surf_usm_v(l)%ddz_wall(nzb_wall,m) * 2.0_wp 5068 surf_usm_v(l)%c_surface_green(m) = surf_usm_v(l)%rho_c_green(nzb_wall,m) * & 5069 surf_usm_v(l)%dz_green(nzb_wall,m) * 0.25_wp 5070 surf_usm_v(l)%lambda_surf_green(m) = surf_usm_v(l)%lambda_h_green(nzb_wall,m) * & 5071 surf_usm_v(l)%ddz_green(nzb_wall,m) * 2.0_wp 5072 surf_usm_v(l)%c_surface_window(m) = surf_usm_v(l)%rho_c_window(nzb_wall,m) * & 5073 surf_usm_v(l)%dz_window(nzb_wall,m) * 0.25_wp 5074 surf_usm_v(l)%lambda_surf_window(m) = surf_usm_v(l)%lambda_h_window(nzb_wall,m) * & 5075 surf_usm_v(l)%ddz_window(nzb_wall,m) * 2.0_wp 5076 ENDDO 5077 ENDDO 5078 5099 5079 ! 5100 5080 !-- init anthropogenic sources of heat … … 7839 7819 DO m = 1, surf_usm_h%ns 7840 7820 ! 7841 !-- During spinup set green and window fraction to zero and restore7842 !-- at the end of the loop.7843 !-- Note, this is a temporary fix and need to be removed later.7821 !-- During spinup set green and window fraction to zero and restore 7822 !-- at the end of the loop. 7823 !-- Note, this is a temporary fix and need to be removed later. 7844 7824 IF ( during_spinup ) THEN 7845 7825 frac_win = surf_usm_h%frac(m,ind_wat_win) … … 7960 7940 7961 7941 ! 7962 !-- Calculate water vapour pressure at saturation7942 !-- Calculate water vapour pressure at saturation 7963 7943 e_s = 0.01_wp * 610.78_wp * EXP( 17.269_wp * ( t_surf_green_h(m) & 7964 7944 - 273.16_wp ) / ( t_surf_green_h(m) - 35.86_wp ) ) … … 8027 8007 surf_usm_h%rad_lw_out(m) 8028 8008 ! 8029 !-- numerator of the prognostic equation8030 !-- Todo: Adjust to tile approach. So far, emissivity for wall (element 0)8031 !-- is used8009 !-- numerator of the prognostic equation 8010 !-- Todo: Adjust to tile approach. So far, emissivity for wall (element 0) 8011 !-- is used 8032 8012 coef_1 = surf_usm_h%rad_net_l(m) + & 8033 8013 ( 3.0_wp + 1.0_wp ) * surf_usm_h%emissivity(m,ind_veg_wall) * & … … 8055 8035 f_shf_green * surf_usm_h%pt1(m) + & 8056 8036 lambda_surface_green * t_green_h(nzb_wall,m) 8057 ENDIF8037 ENDIF 8058 8038 ! 8059 8039 !-- denominator of the prognostic equation … … 8320 8300 ENDIF 8321 8301 ! 8322 !-- Get indices of respective grid point8302 !-- Get indices of respective grid point 8323 8303 i = surf_usm_v(l)%i(m) 8324 8304 j = surf_usm_v(l)%j(m) … … 8326 8306 8327 8307 ! 8328 !-- TODO - how to calculate lambda_surface for horizontal (??? do you mean verical ???) surfaces 8329 !-- (lambda_surface is set according to stratification in land surface model). 8330 !-- Please note, for vertical surfaces no ol is defined, since 8331 !-- stratification is not considered in this case. 8308 !-- Please note, for vertical surfaces no ol is defined, since 8309 !-- stratification is not considered in this case. 8332 8310 lambda_surface = surf_usm_v(l)%lambda_surf(m) 8333 8311 lambda_surface_window = surf_usm_v(l)%lambda_surf_window(m) 8334 8312 lambda_surface_green = surf_usm_v(l)%lambda_surf_green(m) 8335 8313 8336 ! pt1 = pt(k,j,i)8314 ! pt1 = pt(k,j,i) 8337 8315 IF ( humidity ) THEN 8338 8316 qv1 = q(k,j,i) … … 8351 8329 ENDIF 8352 8330 8353 !-- Calculation of r_a for vertical surfaces8331 !-- Calculation of r_a for vertical surfaces 8354 8332 !-- 8355 !-- heat transfer coefficient for forced convection along vertical walls8356 !-- follows formulation in TUF3d model (Krayenhoff & Voogt, 2006)8333 !-- heat transfer coefficient for forced convection along vertical walls 8334 !-- follows formulation in TUF3d model (Krayenhoff & Voogt, 2006) 8357 8335 !-- 8358 !-- H = httc (Tsfc - Tair)8359 !-- httc = rw * (11.8 + 4.2 * Ueff) - 4.08336 !-- H = httc (Tsfc - Tair) 8337 !-- httc = rw * (11.8 + 4.2 * Ueff) - 4.0 8360 8338 !-- 8361 8339 !-- rw: wall patch roughness relative to 1.0 for concrete … … 8369 8347 !-- zH: height of the convective layer 8370 8348 !-- wstar = (g/Tcan*Qs*zH)**(1./3.) 8371 !-- Effective velocity components must always8372 !-- be defined at scalar grid point. The wall normal component is8373 !-- obtained by simple linear interpolation. ( An alternative would8374 !-- be an logarithmic interpolation. )8375 !-- Parameter roughness_concrete (default value = 0.001) is used8376 !-- to calculation of roughness relative to concrete8349 !-- Effective velocity components must always 8350 !-- be defined at scalar grid point. The wall normal component is 8351 !-- obtained by simple linear interpolation. ( An alternative would 8352 !-- be an logarithmic interpolation. ) 8353 !-- Parameter roughness_concrete (default value = 0.001) is used 8354 !-- to calculation of roughness relative to concrete 8377 8355 surf_usm_v(l)%r_a(m) = rho_cp / ( surf_usm_v(l)%z0(m) / & 8378 8356 roughness_concrete * ( 11.8_wp + 4.2_wp * & … … 8383 8361 ) - 4.0_wp ) 8384 8362 ! 8385 !-- Limit aerodynamic resistance8363 !-- Limit aerodynamic resistance 8386 8364 IF ( surf_usm_v(l)%r_a(m) < 1.0_wp ) surf_usm_v(l)%r_a(m) = 1.0_wp 8387 8365 … … 8540 8518 t_surf_green_v_p(l)%t(m) = t_surf_green_v_p(l)%t(m) + dt_3d * tsc(3) * & 8541 8519 surf_usm_v(l)%tt_surface_green_m(m) 8520 8542 8521 ! 8543 8522 !-- Store surface temperature. Further, in case humidity is used
Note: See TracChangeset
for help on using the changeset viewer.