Ignore:
Timestamp:
Oct 4, 2017 8:26:59 AM (7 years ago)
Author:
raasch
Message:

upper bounds of cross section and 3d output changed from nx+1,ny+1 to nx,ny; no output if redundant ghost layer data to NetCDF files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/radiation_model_mod.f90

    r2504 r2512  
    2525! -----------------
    2626! $Id$
     27! upper bounds of cross section and 3d output changed from nx+1,ny+1 to nx,ny
     28! no output of ghost layer data
     29!
     30! 2504 2017-09-27 10:36:13Z maronga
    2731! Updates pavement types and albedo parameters
    2832!
     
    28102814    LOGICAL      ::  two_d !< flag parameter that indicates 2D variables (horizontal cross sections)
    28112815
    2812     REAL(wp), DIMENSION(nxlg:nxrg,nysg:nyng,nzb:nzt+1) ::  local_pf !<
     2816    REAL(wp), DIMENSION(nxl:nxr,nys:nyn,nzb:nzt+1) ::  local_pf !<
    28132817
    28142818    found = .TRUE.
     
    28182822       CASE ( 'rad_net*_xy' )        ! 2d-array
    28192823          IF ( av == 0 ) THEN
    2820              DO  i = nxlg, nxrg
    2821                 DO  j = nysg, nyng
     2824             DO  i = nxl, nxr
     2825                DO  j = nys, nyn
    28222826                   local_pf(i,j,nzb+1) = rad_net(j,i)
    28232827                ENDDO
    28242828             ENDDO
    28252829          ELSE
    2826              DO  i = nxlg, nxrg
    2827                 DO  j = nysg, nyng
     2830             DO  i = nxl, nxr
     2831                DO  j = nys, nyn
    28282832                   local_pf(i,j,nzb+1) = rad_net_av(j,i)
    28292833                ENDDO
     
    28362840       CASE ( 'rad_lw_in_xy', 'rad_lw_in_xz', 'rad_lw_in_yz' )
    28372841          IF ( av == 0 ) THEN
    2838              DO  i = nxlg, nxrg
    2839                 DO  j = nysg, nyng
     2842             DO  i = nxl, nxr
     2843                DO  j = nys, nyn
    28402844                   DO  k = nzb, nzt+1
    28412845                      local_pf(i,j,k) = rad_lw_in(k,j,i)
     
    28442848             ENDDO
    28452849          ELSE
    2846              DO  i = nxlg, nxrg
    2847                 DO  j = nysg, nyng
     2850             DO  i = nxl, nxr
     2851                DO  j = nys, nyn
    28482852                   DO  k = nzb, nzt+1
    28492853                      local_pf(i,j,k) = rad_lw_in_av(k,j,i)
     
    28562860       CASE ( 'rad_lw_out_xy', 'rad_lw_out_xz', 'rad_lw_out_yz' )
    28572861          IF ( av == 0 ) THEN
    2858              DO  i = nxlg, nxrg
    2859                 DO  j = nysg, nyng
     2862             DO  i = nxl, nxr
     2863                DO  j = nys, nyn
    28602864                   DO  k = nzb, nzt+1
    28612865                      local_pf(i,j,k) = rad_lw_out(k,j,i)
     
    28642868             ENDDO
    28652869          ELSE
    2866              DO  i = nxlg, nxrg
    2867                 DO  j = nysg, nyng
     2870             DO  i = nxl, nxr
     2871                DO  j = nys, nyn
    28682872                   DO  k = nzb, nzt+1
    28692873                      local_pf(i,j,k) = rad_lw_out_av(k,j,i)
     
    28762880       CASE ( 'rad_lw_cs_hr_xy', 'rad_lw_cs_hr_xz', 'rad_lw_cs_hr_yz' )
    28772881          IF ( av == 0 ) THEN
    2878              DO  i = nxlg, nxrg
    2879                 DO  j = nysg, nyng
     2882             DO  i = nxl, nxr
     2883                DO  j = nys, nyn
    28802884                   DO  k = nzb, nzt+1
    28812885                      local_pf(i,j,k) = rad_lw_cs_hr(k,j,i)
     
    28842888             ENDDO
    28852889          ELSE
    2886              DO  i = nxlg, nxrg
    2887                 DO  j = nysg, nyng
     2890             DO  i = nxl, nxr
     2891                DO  j = nys, nyn
    28882892                   DO  k = nzb, nzt+1
    28892893                      local_pf(i,j,k) = rad_lw_cs_hr_av(k,j,i)
     
    28962900       CASE ( 'rad_lw_hr_xy', 'rad_lw_hr_xz', 'rad_lw_hr_yz' )
    28972901          IF ( av == 0 ) THEN
    2898              DO  i = nxlg, nxrg
    2899                 DO  j = nysg, nyng
     2902             DO  i = nxl, nxr
     2903                DO  j = nys, nyn
    29002904                   DO  k = nzb, nzt+1
    29012905                      local_pf(i,j,k) = rad_lw_hr(k,j,i)
     
    29042908             ENDDO
    29052909          ELSE
    2906              DO  i = nxlg, nxrg
    2907                 DO  j = nysg, nyng
     2910             DO  i = nxl, nxr
     2911                DO  j = nys, nyn
    29082912                   DO  k = nzb, nzt+1
    29092913                      local_pf(i,j,k) = rad_lw_hr_av(k,j,i)
     
    29162920       CASE ( 'rad_sw_in_xy', 'rad_sw_in_xz', 'rad_sw_in_yz' )
    29172921          IF ( av == 0 ) THEN
    2918              DO  i = nxlg, nxrg
    2919                 DO  j = nysg, nyng
     2922             DO  i = nxl, nxr
     2923                DO  j = nys, nyn
    29202924                   DO  k = nzb, nzt+1
    29212925                      local_pf(i,j,k) = rad_sw_in(k,j,i)
     
    29242928             ENDDO
    29252929          ELSE
    2926              DO  i = nxlg, nxrg
    2927                 DO  j = nysg, nyng
     2930             DO  i = nxl, nxr
     2931                DO  j = nys, nyn
    29282932                   DO  k = nzb, nzt+1
    29292933                      local_pf(i,j,k) = rad_sw_in_av(k,j,i)
     
    29362940       CASE ( 'rad_sw_out_xy', 'rad_sw_out_xz', 'rad_sw_out_yz' )
    29372941          IF ( av == 0 ) THEN
    2938              DO  i = nxlg, nxrg
    2939                 DO  j = nysg, nyng
     2942             DO  i = nxl, nxr
     2943                DO  j = nys, nyn
    29402944                   DO  k = nzb, nzt+1
    29412945                      local_pf(i,j,k) = rad_sw_out(k,j,i)
     
    29442948             ENDDO
    29452949          ELSE
    2946              DO  i = nxlg, nxrg
    2947                 DO  j = nysg, nyng
     2950             DO  i = nxl, nxr
     2951                DO  j = nys, nyn
    29482952                   DO  k = nzb, nzt+1
    29492953                      local_pf(i,j,k) = rad_sw_out_av(k,j,i)
     
    29562960       CASE ( 'rad_sw_cs_hr_xy', 'rad_sw_cs_hr_xz', 'rad_sw_cs_hr_yz' )
    29572961          IF ( av == 0 ) THEN
    2958              DO  i = nxlg, nxrg
    2959                 DO  j = nysg, nyng
     2962             DO  i = nxl, nxr
     2963                DO  j = nys, nyn
    29602964                   DO  k = nzb, nzt+1
    29612965                      local_pf(i,j,k) = rad_sw_cs_hr(k,j,i)
     
    29642968             ENDDO
    29652969          ELSE
    2966              DO  i = nxlg, nxrg
    2967                 DO  j = nysg, nyng
     2970             DO  i = nxl, nxr
     2971                DO  j = nys, nyn
    29682972                   DO  k = nzb, nzt+1
    29692973                      local_pf(i,j,k) = rad_sw_cs_hr_av(k,j,i)
     
    29762980       CASE ( 'rad_sw_hr_xy', 'rad_sw_hr_xz', 'rad_sw_hr_yz' )
    29772981          IF ( av == 0 ) THEN
    2978              DO  i = nxlg, nxrg
    2979                 DO  j = nysg, nyng
     2982             DO  i = nxl, nxr
     2983                DO  j = nys, nyn
    29802984                   DO  k = nzb, nzt+1
    29812985                      local_pf(i,j,k) = rad_sw_hr(k,j,i)
     
    29842988             ENDDO
    29852989          ELSE
    2986              DO  i = nxlg, nxrg
    2987                 DO  j = nysg, nyng
     2990             DO  i = nxl, nxr
     2991                DO  j = nys, nyn
    29882992                   DO  k = nzb, nzt+1
    29892993                      local_pf(i,j,k) = rad_sw_hr_av(k,j,i)
     
    30283032    LOGICAL      ::  found !<
    30293033
    3030     REAL(sp), DIMENSION(nxlg:nxrg,nysg:nyng,nzb:nzt+1) ::  local_pf !<
     3034    REAL(sp), DIMENSION(nxl:nxr,nys:nyn,nzb:nzt+1) ::  local_pf !<
    30313035
    30323036
     
    30383042      CASE ( 'rad_sw_in' )
    30393043         IF ( av == 0 )  THEN
    3040             DO  i = nxlg, nxrg
    3041                DO  j = nysg, nyng
     3044            DO  i = nxl, nxr
     3045               DO  j = nys, nyn
    30423046                  DO  k = nzb, nzt+1
    30433047                     local_pf(i,j,k) = rad_sw_in(k,j,i)
     
    30463050            ENDDO
    30473051         ELSE
    3048             DO  i = nxlg, nxrg
    3049                DO  j = nysg, nyng
     3052            DO  i = nxl, nxr
     3053               DO  j = nys, nyn
    30503054                  DO  k = nzb, nzt+1
    30513055                     local_pf(i,j,k) = rad_sw_in_av(k,j,i)
     
    30573061      CASE ( 'rad_sw_out' )
    30583062         IF ( av == 0 )  THEN
    3059             DO  i = nxlg, nxrg
    3060                DO  j = nysg, nyng
     3063            DO  i = nxl, nxr
     3064               DO  j = nys, nyn
    30613065                  DO  k = nzb, nzt+1
    30623066                     local_pf(i,j,k) = rad_sw_out(k,j,i)
     
    30653069            ENDDO
    30663070         ELSE
    3067             DO  i = nxlg, nxrg
    3068                DO  j = nysg, nyng
     3071            DO  i = nxl, nxr
     3072               DO  j = nys, nyn
    30693073                  DO  k = nzb, nzt+1
    30703074                     local_pf(i,j,k) = rad_sw_out_av(k,j,i)
     
    30763080      CASE ( 'rad_sw_cs_hr' )
    30773081         IF ( av == 0 )  THEN
    3078             DO  i = nxlg, nxrg
    3079                DO  j = nysg, nyng
     3082            DO  i = nxl, nxr
     3083               DO  j = nys, nyn
    30803084                  DO  k = nzb, nzt+1
    30813085                     local_pf(i,j,k) = rad_sw_cs_hr(k,j,i)
     
    30843088            ENDDO
    30853089         ELSE
    3086             DO  i = nxlg, nxrg
    3087                DO  j = nysg, nyng
     3090            DO  i = nxl, nxr
     3091               DO  j = nys, nyn
    30883092                  DO  k = nzb, nzt+1
    30893093                     local_pf(i,j,k) = rad_sw_cs_hr_av(k,j,i)
     
    30953099      CASE ( 'rad_sw_hr' )
    30963100         IF ( av == 0 )  THEN
    3097             DO  i = nxlg, nxrg
    3098                DO  j = nysg, nyng
     3101            DO  i = nxl, nxr
     3102               DO  j = nys, nyn
    30993103                  DO  k = nzb, nzt+1
    31003104                     local_pf(i,j,k) = rad_sw_hr(k,j,i)
     
    31033107            ENDDO
    31043108         ELSE
    3105             DO  i = nxlg, nxrg
    3106                DO  j = nysg, nyng
     3109            DO  i = nxl, nxr
     3110               DO  j = nys, nyn
    31073111                  DO  k = nzb, nzt+1
    31083112                     local_pf(i,j,k) = rad_sw_hr_av(k,j,i)
     
    31143118      CASE ( 'rad_lw_in' )
    31153119         IF ( av == 0 )  THEN
    3116             DO  i = nxlg, nxrg
    3117                DO  j = nysg, nyng
     3120            DO  i = nxl, nxr
     3121               DO  j = nys, nyn
    31183122                  DO  k = nzb, nzt+1
    31193123                     local_pf(i,j,k) = rad_lw_in(k,j,i)
     
    31223126            ENDDO
    31233127         ELSE
    3124             DO  i = nxlg, nxrg
    3125                DO  j = nysg, nyng
     3128            DO  i = nxl, nxr
     3129               DO  j = nys, nyn
    31263130                  DO  k = nzb, nzt+1
    31273131                     local_pf(i,j,k) = rad_lw_in_av(k,j,i)
     
    31333137      CASE ( 'rad_lw_out' )
    31343138         IF ( av == 0 )  THEN
    3135             DO  i = nxlg, nxrg
    3136                DO  j = nysg, nyng
     3139            DO  i = nxl, nxr
     3140               DO  j = nys, nyn
    31373141                  DO  k = nzb, nzt+1
    31383142                     local_pf(i,j,k) = rad_lw_out(k,j,i)
     
    31413145            ENDDO
    31423146         ELSE
    3143             DO  i = nxlg, nxrg
    3144                DO  j = nysg, nyng
     3147            DO  i = nxl, nxr
     3148               DO  j = nys, nyn
    31453149                  DO  k = nzb, nzt+1
    31463150                     local_pf(i,j,k) = rad_lw_out_av(k,j,i)
     
    31523156      CASE ( 'rad_lw_cs_hr' )
    31533157         IF ( av == 0 )  THEN
    3154             DO  i = nxlg, nxrg
    3155                DO  j = nysg, nyng
     3158            DO  i = nxl, nxr
     3159               DO  j = nys, nyn
    31563160                  DO  k = nzb, nzt+1
    31573161                     local_pf(i,j,k) = rad_lw_cs_hr(k,j,i)
     
    31603164            ENDDO
    31613165         ELSE
    3162             DO  i = nxlg, nxrg
    3163                DO  j = nysg, nyng
     3166            DO  i = nxl, nxr
     3167               DO  j = nys, nyn
    31643168                  DO  k = nzb, nzt+1
    31653169                     local_pf(i,j,k) = rad_lw_cs_hr_av(k,j,i)
     
    31713175      CASE ( 'rad_lw_hr' )
    31723176         IF ( av == 0 )  THEN
    3173             DO  i = nxlg, nxrg
    3174                DO  j = nysg, nyng
     3177            DO  i = nxl, nxr
     3178               DO  j = nys, nyn
    31753179                  DO  k = nzb, nzt+1
    31763180                     local_pf(i,j,k) = rad_lw_hr(k,j,i)
     
    31793183            ENDDO
    31803184         ELSE
    3181             DO  i = nxlg, nxrg
    3182                DO  j = nysg, nyng
     3185            DO  i = nxl, nxr
     3186               DO  j = nys, nyn
    31833187                  DO  k = nzb, nzt+1
    31843188                     local_pf(i,j,k) = rad_lw_hr_av(k,j,i)
Note: See TracChangeset for help on using the changeset viewer.