Changeset 3222 for palm/trunk/SOURCE/land_surface_model_mod.f90
- Timestamp:
- Aug 30, 2018 1:35:35 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/land_surface_model_mod.f90
r3215 r3222 25 25 ! ----------------- 26 26 ! $Id$ 27 ! - Introduction of surface array for type and its names 28 ! - Bugfix in intialization of pavement surfaces 29 ! 30 ! 3215 2018-08-29 09:58:59Z suehring 27 31 ! Enable optional initialization of soil properties directly from dynamic 28 32 ! input file. … … 2600 2604 2601 2605 surf_lsm_v(l)%lambda_w = 0.0_wp 2602 ENDIF 2606 ENDIF 2603 2607 ENDDO 2604 2608 ! … … 2631 2635 ALLOCATE( surf_lsm_v(l)%building_covered(1:surf_lsm_v(l)%ns) ) 2632 2636 ENDDO 2637 ! 2638 !-- Allocate arrays for the respective types and their names on the surface 2639 !-- elements. This will be required to treat deposition of chemical species. 2640 ALLOCATE( surf_lsm_h%pavement_type(1:surf_lsm_h%ns) ) 2641 ALLOCATE( surf_lsm_h%vegetation_type(1:surf_lsm_h%ns) ) 2642 ALLOCATE( surf_lsm_h%water_type(1:surf_lsm_h%ns) ) 2643 2644 surf_lsm_h%pavement_type = 0 2645 surf_lsm_h%vegetation_type = 0 2646 surf_lsm_h%water_type = 0 2647 2648 ALLOCATE( surf_lsm_h%pavement_type_name(1:surf_lsm_h%ns) ) 2649 ALLOCATE( surf_lsm_h%vegetation_type_name(1:surf_lsm_h%ns) ) 2650 ALLOCATE( surf_lsm_h%water_type_name(1:surf_lsm_h%ns) ) 2651 2652 surf_lsm_h%pavement_type_name = 'none' 2653 surf_lsm_h%vegetation_type_name = 'none' 2654 surf_lsm_h%water_type_name = 'none' 2655 2656 DO l = 0, 3 2657 ALLOCATE( surf_lsm_v(l)%pavement_type(1:surf_lsm_v(l)%ns) ) 2658 ALLOCATE( surf_lsm_v(l)%vegetation_type(1:surf_lsm_v(l)%ns) ) 2659 ALLOCATE( surf_lsm_v(l)%water_type(1:surf_lsm_v(l)%ns) ) 2660 2661 surf_lsm_v(l)%pavement_type = 0 2662 surf_lsm_v(l)%vegetation_type = 0 2663 surf_lsm_v(l)%water_type = 0 2664 2665 ALLOCATE( surf_lsm_v(l)%pavement_type_name(1:surf_lsm_v(l)%ns) ) 2666 ALLOCATE( surf_lsm_v(l)%vegetation_type_name(1:surf_lsm_v(l)%ns) ) 2667 ALLOCATE( surf_lsm_v(l)%water_type_name(1:surf_lsm_v(l)%ns) ) 2668 2669 surf_lsm_v(l)%pavement_type_name = 'none' 2670 surf_lsm_v(l)%vegetation_type_name = 'none' 2671 surf_lsm_v(l)%water_type_name = 'none' 2672 ENDDO 2673 2633 2674 ! 2634 2675 !-- Set flag parameter for the prescribed surface type depending on user … … 3134 3175 surf_lsm_h%albedo_type(ind_veg_wall,m) = albedo_type 3135 3176 surf_lsm_h%emissivity(ind_veg_wall,m) = emissivity 3177 3178 surf_lsm_h%vegetation_type(m) = vegetation_type 3179 surf_lsm_h%vegetation_type_name(m) = vegetation_type_name(vegetation_type) 3136 3180 ELSE 3137 3181 surf_lsm_h%lai(m) = 0.0_wp … … 3160 3204 surf_lsm_v(l)%albedo_type(ind_veg_wall,m) = albedo_type 3161 3205 surf_lsm_v(l)%emissivity(ind_veg_wall,m) = emissivity 3206 3207 surf_lsm_v(l)%vegetation_type(m) = vegetation_type 3208 surf_lsm_v(l)%vegetation_type_name(m) = vegetation_type_name(vegetation_type) 3162 3209 ELSE 3163 3210 surf_lsm_v(l)%lai(m) = 0.0_wp … … 3195 3242 surf_lsm_h%albedo_type(ind_veg_wall,m) = INT( vegetation_pars(ind_v_at,st) ) 3196 3243 surf_lsm_h%emissivity(ind_veg_wall,m) = vegetation_pars(ind_v_emis,st) 3244 3245 surf_lsm_h%vegetation_type(m) = st 3246 surf_lsm_h%vegetation_type_name(m) = vegetation_type_name(st) 3197 3247 ENDIF 3198 3248 ENDDO … … 3221 3271 surf_lsm_v(l)%albedo_type(ind_veg_wall,m) = INT( vegetation_pars(ind_v_at,st) ) 3222 3272 surf_lsm_v(l)%emissivity(ind_veg_wall,m) = vegetation_pars(ind_v_emis,st) 3273 3274 surf_lsm_v(l)%vegetation_type(m) = st 3275 surf_lsm_v(l)%vegetation_type_name(m) = vegetation_type_name(st) 3223 3276 ENDIF 3224 3277 ENDDO … … 3423 3476 surf_lsm_h%albedo_type(ind_wat_win,m) = albedo_type 3424 3477 surf_lsm_h%emissivity(ind_wat_win,m) = emissivity 3478 3479 surf_lsm_h%water_type(m) = water_type 3480 surf_lsm_h%water_type_name(m) = water_type_name(water_type) 3425 3481 ENDIF 3426 3482 ENDDO … … 3441 3497 surf_lsm_v(l)%albedo_type(ind_wat_win,m) = albedo_type 3442 3498 surf_lsm_v(l)%emissivity(ind_wat_win,m) = emissivity 3499 3500 surf_lsm_v(l)%water_type(m) = water_type 3501 surf_lsm_v(l)%water_type_name(m) = water_type_name(water_type) 3443 3502 ENDIF 3444 3503 ENDDO … … 3471 3530 surf_lsm_h%albedo_type(ind_wat_win,m) = INT( water_pars(ind_w_at,st) ) 3472 3531 surf_lsm_h%emissivity(ind_wat_win,m) = water_pars(ind_w_emis,st) 3532 3533 surf_lsm_h%water_type(m) = st 3534 surf_lsm_h%water_type_name(m) = water_type_name(st) 3473 3535 ENDIF 3474 3536 ENDDO … … 3498 3560 surf_lsm_v(l)%emissivity(ind_wat_win,m) = & 3499 3561 water_pars(ind_w_emis,st) 3562 3563 surf_lsm_v(l)%water_type(m) = st 3564 surf_lsm_v(l)%water_type_name(m) = water_type_name(st) 3500 3565 ENDIF 3501 3566 ENDDO … … 3694 3759 surf_lsm_h%albedo_type(ind_pav_green,m) = albedo_type 3695 3760 surf_lsm_h%emissivity(ind_pav_green,m) = emissivity 3761 3762 surf_lsm_h%pavement_type(m) = pavement_type 3763 surf_lsm_h%pavement_type_name(m) = pavement_type_name(pavement_type) 3696 3764 3697 3765 IF ( pavement_type /= 0 ) THEN … … 3703 3771 ENDDO 3704 3772 ELSE 3705 surf_lsm_ v(l)%lambda_h_def(:,m) = pavement_heat_conduct3706 surf_lsm_ v(l)%rho_c_total_def(:,m) = pavement_heat_capacity3773 surf_lsm_h%lambda_h_def(:,m) = pavement_heat_conduct 3774 surf_lsm_h%rho_c_total_def(:,m) = pavement_heat_capacity 3707 3775 ENDIF 3708 3776 ENDIF … … 3729 3797 surf_lsm_v(l)%albedo_type(ind_pav_green,m) = albedo_type 3730 3798 surf_lsm_v(l)%emissivity(ind_pav_green,m) = emissivity 3799 3800 surf_lsm_v(l)%pavement_type(m) = pavement_type 3801 surf_lsm_v(l)%pavement_type_name(m) = pavement_type_name(pavement_type) 3731 3802 3732 3803 IF ( pavement_type /= 0 ) THEN … … 3786 3857 surf_lsm_h%albedo_type(ind_pav_green,m) = INT( pavement_pars(ind_p_at,st) ) 3787 3858 surf_lsm_h%emissivity(ind_pav_green,m) = pavement_pars(ind_p_emis,st) 3859 3860 surf_lsm_h%pavement_type(m) = st 3861 surf_lsm_h%pavement_type_name(m) = pavement_type_name(st) 3788 3862 3789 3863 DO k = nzb_soil, surf_lsm_h%nzt_pavement(m) … … 3837 3911 INT( pavement_pars(ind_p_at,st) ) 3838 3912 surf_lsm_v(l)%emissivity(ind_pav_green,m) = & 3839 pavement_pars(ind_p_emis,st) 3913 pavement_pars(ind_p_emis,st) 3914 3915 surf_lsm_v(l)%pavement_type(m) = st 3916 surf_lsm_v(l)%pavement_type_name(m) = pavement_type_name(st) 3840 3917 3841 3918 DO k = nzb_soil, surf_lsm_v(l)%nzt_pavement(m)
Note: See TracChangeset
for help on using the changeset viewer.