Changeset 3914 for palm/trunk/SOURCE
 Timestamp:
 Apr 17, 2019 4:02:02 PM (4 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

palm/trunk/SOURCE/urban_surface_mod.f90
r3901 r3914 28 28 !  29 29 ! $Id$ 30 ! In order to obtain correct surface temperature during spinup set window 31 ! fraction to zero (only during spinup) instead of just disabling 32 ! timeintegration of windowsurface temperature. 33 ! 34 ! 3901 20190416 16:17:02Z suehring 30 35 ! Workaround  set green fraction to zero ( greenheat model crashes ). 31 36 ! … … 3753 3758 lsf_surf = .FALSE. 3754 3759 ENDIF 3755 3756 3760 ! 3757 3761 ! Flag surface elements belonging to the ground floor level. Therefore, … … 7636 7640 LOGICAL :: spinup !true during spinup 7637 7641 7642 REAL(wp) :: frac_win !< window fraction, used to restore original values during spinup 7643 REAL(wp) :: frac_green !< green fraction, used to restore original values during spinup 7644 REAL(wp) :: frac_wall !< wall fraction, used to restore original values during spinup 7638 7645 REAL(wp) :: stend_wall !< surface tendency 7639 7646 … … 7701 7708 DO m = 1, surf_usm_h%ns 7702 7709 ! 7710 ! During spinup set green and window fraction to zero and restore 7711 ! at the end of the loop. 7712 ! Note, this is a temporary fix and need to be removed later. 7713 IF ( spinup ) THEN 7714 frac_win = surf_usm_h%frac(ind_wat_win,m) 7715 frac_wall = surf_usm_h%frac(ind_veg_wall,m) 7716 frac_green = surf_usm_h%frac(ind_pav_green,m) 7717 surf_usm_h%frac(ind_wat_win,m) = 0.0_wp 7718 surf_usm_h%frac(ind_veg_wall,m) = 1.0_wp 7719 surf_usm_h%frac(ind_pav_green,m) = 0.0_wp 7720 ENDIF 7721 ! 7703 7722 ! Get indices of respective grid point 7704 7723 i = surf_usm_h%i(m) … … 8141 8160 surf_usm_h%r_s(m) = 1.0E10_wp 8142 8161 ENDIF 8162 ! 8163 ! During spinup green and window fraction are set to zero. Here, the original 8164 ! values are restored. 8165 IF ( spinup ) THEN 8166 surf_usm_h%frac(ind_wat_win,m) = frac_win 8167 surf_usm_h%frac(ind_veg_wall,m) = frac_wall 8168 surf_usm_h%frac(ind_pav_green,m) = frac_green 8169 ENDIF 8143 8170 8144 8171 ENDDO … … 8148 8175 DO l = 0, 3 8149 8176 DO m = 1, surf_usm_v(l)%ns 8177 ! 8178 ! During spinup set green and window fraction to zero and restore 8179 ! at the end of the loop. 8180 ! Note, this is a temporary fix and need to be removed later. 8181 IF ( spinup ) THEN 8182 frac_win = surf_usm_v(l)%frac(ind_wat_win,m) 8183 frac_wall = surf_usm_v(l)%frac(ind_veg_wall,m) 8184 frac_green = surf_usm_v(l)%frac(ind_pav_green,m) 8185 surf_usm_v(l)%frac(ind_wat_win,m) = 0.0_wp 8186 surf_usm_v(l)%frac(ind_veg_wall,m) = 1.0_wp 8187 surf_usm_v(l)%frac(ind_pav_green,m) = 0.0_wp 8188 ENDIF 8150 8189 ! 8151 8190 ! Get indices of respective grid point … … 8517 8556 ELSE 8518 8557 surf_usm_v(l)%r_s(m) = 1.0E10_wp 8558 ENDIF 8559 ! 8560 ! During spinup green and window fraction are set to zero. Here, the original 8561 ! values are restored. 8562 IF ( spinup ) THEN 8563 surf_usm_v(l)%frac(ind_wat_win,m) = frac_win 8564 surf_usm_v(l)%frac(ind_veg_wall,m) = frac_wall 8565 surf_usm_v(l)%frac(ind_pav_green,m) = frac_green 8519 8566 ENDIF 8520 8567
Note: See TracChangeset
for help on using the changeset viewer.