Changeset 4653 for palm/trunk/SOURCE/urban_surface_mod.f90
- Timestamp:
- Aug 27, 2020 8:54:43 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/urban_surface_mod.f90
r4630 r4653 362 362 force_radiation_call, & 363 363 id, & 364 ieast_l, & 365 ieast_u, & 366 inorth_l, & 367 inorth_u, & 368 isouth_l, & 369 isouth_u, & 370 iup_l, & 371 iup_u, & 372 iwest_l, & 373 iwest_u, & 364 ieast, & 365 inorth, & 366 isouth, & 367 iup, & 368 iwest, & 374 369 nz_urban_b, & 375 370 nz_urban_t, & … … 1343 1338 INTEGER(iwp), PARAMETER :: nd = 5 !< number of directions 1344 1339 CHARACTER(LEN=6), DIMENSION(0:nd-1), PARAMETER :: dirname = (/ '_roof ', '_south', '_north', '_west ', '_east ' /) 1345 INTEGER(iwp), DIMENSION(0:nd-1), PARAMETER :: dirint = (/ iup _u, isouth_u, inorth_u, iwest_u, ieast_u/)1340 INTEGER(iwp), DIMENSION(0:nd-1), PARAMETER :: dirint = (/ iup, isouth, inorth, iwest, ieast /) 1346 1341 1347 1342 … … 2460 2455 2461 2456 INTEGER(iwp), PARAMETER :: nd = 5 !< number of directions 2462 INTEGER(iwp), DIMENSION(0:nd-1), PARAMETER :: dirint = (/ iup_u, isouth_u, inorth_u, iwest_u, ieast_u/) !<2457 INTEGER(iwp), DIMENSION(0:nd-1), PARAMETER :: dirint = (/ iup, isouth, inorth, iwest, ieast /) !< 2463 2458 INTEGER(iwp), DIMENSION(0:nd-1), PARAMETER :: diridx = (/ -1, 1, 0, 3, 2 /) 2464 2459 !< index for surf_*_v: 0:3 = (North, South, East, West) … … 2531 2526 ! 2532 2527 !-- Array of surface height (z) 2533 IF ( idsint == iup _u) THEN2528 IF ( idsint == iup ) THEN 2534 2529 DO m = 1, surf_usm_h%ns 2535 2530 i = surf_usm_h%i(m) … … 2551 2546 ! 2552 2547 !-- Surface category 2553 IF ( idsint == iup _u) THEN2548 IF ( idsint == iup ) THEN 2554 2549 DO m = 1, surf_usm_h%ns 2555 2550 i = surf_usm_h%i(m) … … 2571 2566 ! 2572 2567 !-- Transmissivity window tiles 2573 IF ( idsint == iup _u) THEN2568 IF ( idsint == iup ) THEN 2574 2569 DO m = 1, surf_usm_h%ns 2575 2570 i = surf_usm_h%i(m) … … 2592 2587 !-- Array of sensible heat flux from surfaces 2593 2588 IF ( av == 0 ) THEN 2594 IF ( idsint == iup _u) THEN2589 IF ( idsint == iup ) THEN 2595 2590 DO m = 1, surf_usm_h%ns 2596 2591 i = surf_usm_h%i(m) … … 2609 2604 ENDIF 2610 2605 ELSE 2611 IF ( idsint == iup _u) THEN2606 IF ( idsint == iup ) THEN 2612 2607 DO m = 1, surf_usm_h%ns 2613 2608 i = surf_usm_h%i(m) … … 2632 2627 !-- Array of latent heat flux from surfaces 2633 2628 IF ( av == 0 ) THEN 2634 IF ( idsint == iup _u) THEN2629 IF ( idsint == iup ) THEN 2635 2630 DO m = 1, surf_usm_h%ns 2636 2631 i = surf_usm_h%i(m) … … 2649 2644 ENDIF 2650 2645 ELSE 2651 IF ( idsint == iup _u) THEN2646 IF ( idsint == iup ) THEN 2652 2647 DO m = 1, surf_usm_h%ns 2653 2648 i = surf_usm_h%i(m) … … 2671 2666 !-- Array of latent heat flux from vegetation surfaces 2672 2667 IF ( av == 0 ) THEN 2673 IF ( idsint == iup _u) THEN2668 IF ( idsint == iup ) THEN 2674 2669 DO m = 1, surf_usm_h%ns 2675 2670 i = surf_usm_h%i(m) … … 2688 2683 ENDIF 2689 2684 ELSE 2690 IF ( idsint == iup _u) THEN2685 IF ( idsint == iup ) THEN 2691 2686 DO m = 1, surf_usm_h%ns 2692 2687 i = surf_usm_h%i(m) … … 2710 2705 !-- Array of latent heat flux from surfaces with liquid 2711 2706 IF ( av == 0 ) THEN 2712 IF ( idsint == iup _u) THEN2707 IF ( idsint == iup ) THEN 2713 2708 DO m = 1, surf_usm_h%ns 2714 2709 i = surf_usm_h%i(m) … … 2727 2722 ENDIF 2728 2723 ELSE 2729 IF ( idsint == iup _u) THEN2724 IF ( idsint == iup ) THEN 2730 2725 DO m = 1, surf_usm_h%ns 2731 2726 i = surf_usm_h%i(m) … … 2749 2744 !-- Array of heat flux from ground (land, wall, roof) 2750 2745 IF ( av == 0 ) THEN 2751 IF ( idsint == iup _u) THEN2746 IF ( idsint == iup ) THEN 2752 2747 DO m = 1, surf_usm_h%ns 2753 2748 i = surf_usm_h%i(m) … … 2766 2761 ENDIF 2767 2762 ELSE 2768 IF ( idsint == iup _u) THEN2763 IF ( idsint == iup ) THEN 2769 2764 DO m = 1, surf_usm_h%ns 2770 2765 i = surf_usm_h%i(m) … … 2788 2783 !-- Array of heat flux from window ground (land, wall, roof) 2789 2784 IF ( av == 0 ) THEN 2790 IF ( idsint == iup _u) THEN2785 IF ( idsint == iup ) THEN 2791 2786 DO m = 1, surf_usm_h%ns 2792 2787 i = surf_usm_h%i(m) … … 2805 2800 ENDIF 2806 2801 ELSE 2807 IF ( idsint == iup _u) THEN2802 IF ( idsint == iup ) THEN 2808 2803 DO m = 1, surf_usm_h%ns 2809 2804 i = surf_usm_h%i(m) … … 2827 2822 !-- Array of heat flux from green ground (land, wall, roof) 2828 2823 IF ( av == 0 ) THEN 2829 IF ( idsint == iup _u) THEN2824 IF ( idsint == iup ) THEN 2830 2825 DO m = 1, surf_usm_h%ns 2831 2826 i = surf_usm_h%i(m) … … 2844 2839 ENDIF 2845 2840 ELSE 2846 IF ( idsint == iup _u) THEN2841 IF ( idsint == iup ) THEN 2847 2842 DO m = 1, surf_usm_h%ns 2848 2843 i = surf_usm_h%i(m) … … 2866 2861 !-- Array of heat flux from indoor ground (land, wall, roof) 2867 2862 IF ( av == 0 ) THEN 2868 IF ( idsint == iup _u) THEN2863 IF ( idsint == iup ) THEN 2869 2864 DO m = 1, surf_usm_h%ns 2870 2865 i = surf_usm_h%i(m) … … 2883 2878 ENDIF 2884 2879 ELSE 2885 IF ( idsint == iup _u) THEN2880 IF ( idsint == iup ) THEN 2886 2881 DO m = 1, surf_usm_h%ns 2887 2882 i = surf_usm_h%i(m) … … 2905 2900 !-- Array of heat flux from indoor window ground (land, wall, roof) 2906 2901 IF ( av == 0 ) THEN 2907 IF ( idsint == iup _u) THEN2902 IF ( idsint == iup ) THEN 2908 2903 DO m = 1, surf_usm_h%ns 2909 2904 i = surf_usm_h%i(m) … … 2922 2917 ENDIF 2923 2918 ELSE 2924 IF ( idsint == iup _u) THEN2919 IF ( idsint == iup ) THEN 2925 2920 DO m = 1, surf_usm_h%ns 2926 2921 i = surf_usm_h%i(m) … … 2944 2939 !-- Surface temperature for surfaces 2945 2940 IF ( av == 0 ) THEN 2946 IF ( idsint == iup _u) THEN2941 IF ( idsint == iup ) THEN 2947 2942 DO m = 1, surf_usm_h%ns 2948 2943 i = surf_usm_h%i(m) … … 2961 2956 ENDIF 2962 2957 ELSE 2963 IF ( idsint == iup _u) THEN2958 IF ( idsint == iup ) THEN 2964 2959 DO m = 1, surf_usm_h%ns 2965 2960 i = surf_usm_h%i(m) … … 2983 2978 !-- Surface temperature for window surfaces 2984 2979 IF ( av == 0 ) THEN 2985 IF ( idsint == iup _u) THEN2980 IF ( idsint == iup ) THEN 2986 2981 DO m = 1, surf_usm_h%ns 2987 2982 i = surf_usm_h%i(m) … … 3001 2996 3002 2997 ELSE 3003 IF ( idsint == iup _u) THEN2998 IF ( idsint == iup ) THEN 3004 2999 DO m = 1, surf_usm_h%ns 3005 3000 i = surf_usm_h%i(m) … … 3025 3020 !-- Surface temperature for green surfaces 3026 3021 IF ( av == 0 ) THEN 3027 IF ( idsint == iup _u) THEN3022 IF ( idsint == iup ) THEN 3028 3023 DO m = 1, surf_usm_h%ns 3029 3024 i = surf_usm_h%i(m) … … 3043 3038 3044 3039 ELSE 3045 IF ( idsint == iup _u) THEN3040 IF ( idsint == iup ) THEN 3046 3041 DO m = 1, surf_usm_h%ns 3047 3042 i = surf_usm_h%i(m) … … 3067 3062 !-- Near surface temperature for whole surfaces 3068 3063 IF ( av == 0 ) THEN 3069 IF ( idsint == iup _u) THEN3064 IF ( idsint == iup ) THEN 3070 3065 DO m = 1, surf_usm_h%ns 3071 3066 i = surf_usm_h%i(m) … … 3086 3081 3087 3082 ELSE 3088 IF ( idsint == iup _u) THEN3083 IF ( idsint == iup ) THEN 3089 3084 DO m = 1, surf_usm_h%ns 3090 3085 i = surf_usm_h%i(m) … … 3109 3104 !-- Wall temperature for iwl layer of walls and land 3110 3105 IF ( av == 0 ) THEN 3111 IF ( idsint == iup _u) THEN3106 IF ( idsint == iup ) THEN 3112 3107 DO m = 1, surf_usm_h%ns 3113 3108 i = surf_usm_h%i(m) … … 3126 3121 ENDIF 3127 3122 ELSE 3128 IF ( idsint == iup _u) THEN3123 IF ( idsint == iup ) THEN 3129 3124 DO m = 1, surf_usm_h%ns 3130 3125 i = surf_usm_h%i(m) … … 3148 3143 !-- Window temperature for iwl layer of walls and land 3149 3144 IF ( av == 0 ) THEN 3150 IF ( idsint == iup _u) THEN3145 IF ( idsint == iup ) THEN 3151 3146 DO m = 1, surf_usm_h%ns 3152 3147 i = surf_usm_h%i(m) … … 3165 3160 ENDIF 3166 3161 ELSE 3167 IF ( idsint == iup _u) THEN3162 IF ( idsint == iup ) THEN 3168 3163 DO m = 1, surf_usm_h%ns 3169 3164 i = surf_usm_h%i(m) … … 3187 3182 !-- Green temperature for iwl layer of walls and land 3188 3183 IF ( av == 0 ) THEN 3189 IF ( idsint == iup _u) THEN3184 IF ( idsint == iup ) THEN 3190 3185 DO m = 1, surf_usm_h%ns 3191 3186 i = surf_usm_h%i(m) … … 3204 3199 ENDIF 3205 3200 ELSE 3206 IF ( idsint == iup _u) THEN3201 IF ( idsint == iup ) THEN 3207 3202 DO m = 1, surf_usm_h%ns 3208 3203 i = surf_usm_h%i(m) … … 3226 3221 !-- Soil water content for iwl layer of walls and land 3227 3222 IF ( av == 0 ) THEN 3228 IF ( idsint == iup _u) THEN3223 IF ( idsint == iup ) THEN 3229 3224 DO m = 1, surf_usm_h%ns 3230 3225 i = surf_usm_h%i(m) … … 3237 3232 ENDIF 3238 3233 ELSE 3239 IF ( idsint == iup _u) THEN3234 IF ( idsint == iup ) THEN 3240 3235 DO m = 1, surf_usm_h%ns 3241 3236 i = surf_usm_h%i(m)
Note: See TracChangeset
for help on using the changeset viewer.