Changeset 3378 for palm/trunk/SOURCE


Ignore:
Timestamp:
Oct 19, 2018 12:34:59 PM (6 years ago)
Author:
kanani
Message:

merge fixes of radiation branch (r3362) to trunk

Location:
palm/trunk/SOURCE
Files:
3 edited

Legend:

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

    r3372 r3378  
    2828! -----------------
    2929! $Id$
     30! merge from radiation branch (r3362) into trunk
     31! (moh.hefny):
     32! - removed read/write_svf_on_init and read_dist_max_svf (not used anymore)
     33! - bugfix nzut > nzpt in calculating maxboxes
     34!
     35! 3372 2018-10-18 14:03:19Z raasch
    3036! bugfix: kind type of 2nd argument of mpi_win_allocate changed, misplaced
    3137!         __parallel directive
     
    619625                radiation_interactions = .FALSE.,     & !< flag to activiate RTM (TRUE only if vertical urban/land surface and trees exist)
    620626                surface_reflections = .TRUE.,         & !< flag to switch the calculation of radiation interaction between surfaces.
    621                                                         !< When it switched off, only the effect of buildings and trees shadow will
     627                                                        !< When it switched off, only the effect of buildings and trees shadow
    622628                                                        !< will be considered. However fewer SVFs are expected.
    623629                radiation_interactions_on = .TRUE.      !< namelist flag to force RTM activiation regardless to vertical urban/land surface and trees
     
    776782                                             rrtm_swhr,      & !< RRTM output of shortwave radiation heating rate (K/d)
    777783                                             rrtm_swhrc,     & !< RRTM output of incoming shortwave clear sky radiation heating rate (K/d)
    778                                              rrtm_dirdflux,  & !< RRTM output of incoming direct shortwave (W/m)
    779                                              rrtm_difdflux     !< RRTM output of incoming diffuse shortwave (W/m)
     784                                             rrtm_dirdflux,  & !< RRTM output of incoming direct shortwave (W/m2)
     785                                             rrtm_difdflux     !< RRTM output of incoming diffuse shortwave (W/m2)
    780786
    781787    REAL(wp), DIMENSION(1) ::                rrtm_aldif,     & !< surface albedo for longwave diffuse radiation
     
    987993    INTEGER(iwp), PARAMETER                        ::  gasize = 100000  !< initial size of growing arrays
    988994    REAL(wp), PARAMETER                            ::  grow_factor = 1.4_wp !< growth factor of growing arrays
    989     REAL(wp)                                       ::  dist_max_svf = -9999.0 !< maximum distance to calculate the minimum svf to be considered. It is
    990                                                                         !< used to avoid very small SVFs resulting from too far surfaces with mutual visibility
    991995    INTEGER(iwp)                                   ::  nsvfl            !< number of svf for local processor
    992996    INTEGER(iwp)                                   ::  ncsfl            !< no. of csf in local processor
     
    11581162           skip_time_do_radiation, time_radiation, unscheduled_radiation_calls,&
    11591163           zenith, calc_zenith, sun_direction, sun_dir_lat, sun_dir_lon,       &
    1160            write_svf_on_init, read_svf_on_init,                                &
    1161            nrefsteps, dist_max_svf, nsvfl, svf,                                &
     1164           nrefsteps, nsvfl, svf,                                              &
    11621165           svfsurf, surfinsw, surfinlw, surfins, surfinl, surfinswdir,         &
    11631166           surfinswdif, surfoutsw, surfoutlw, surfinlwdif, rad_sw_in_dir,      &
     
    11671170           iup_u, inorth_u, isouth_u, ieast_u, iwest_u,                        &
    11681171           iup_l, inorth_l, isouth_l, ieast_l, iwest_l,                        &
    1169            nsurf_type, nzub, nzut, nzpt, nzu, pch, nsurf,                      &
     1172           nsurf_type, nzub, nzut, nzu, pch, nsurf,                            &
    11701173           idsvf, ndsvf, idcsf, ndcsf, kdcsf, pct,                             &
    11711174           radiation_interactions, startwall, startland, endland, endwall,     &
     
    29102913                                  radiation_scheme, skip_time_do_radiation,    &
    29112914                                  sw_radiation, unscheduled_radiation_calls,   &
    2912                                   read_svf_on_init, write_svf_on_init,         &
    29132915                                  max_raytracing_dist, min_irrf_value,         &
    29142916                                  nrefsteps, raytrace_mpi_rma,                 &
    2915                                   dist_max_svf,                                &
    29162917                                  surface_reflections, svfnorm_report_thresh,  &
    29172918                                  radiation_interactions_on,                   &
     
    29292930                                  max_raytracing_dist, min_irrf_value,         &
    29302931                                  nrefsteps, raytrace_mpi_rma,                 &
    2931                                   dist_max_svf,                                &
    29322932                                  surface_reflections, svfnorm_report_thresh,  &
    29332933                                  radiation_interactions_on,                   &
     
    46294629     REAL(wp), PARAMETER               :: alpha = 0._wp      !< grid rotation (TODO: add to namelist or remove)
    46304630     REAL(wp)                          :: pc_box_area, pc_abs_frac, pc_abs_eff
    4631 !     REAL(wp)                          ::  count_surfaces    !< number of all surfaces in model domain
    4632 !     REAL(wp)                          ::  count_surfaces_l  !< number of all surfaces in sub-domain
    4633 !     REAL(wp)                          ::  pt_surf_urb       !< mean surface temperature of all surfaces in model domain, temporal work-around
    4634 !     REAL(wp)                          ::  pt_surf_urb_l     !< mean surface temperature of all surfaces in sub-domain, temporal work-around
    4635 
    46364631     REAL(wp), DIMENSION(0:nsurf_type) :: facearea
    46374632     REAL(wp)                          :: pabsswl  = 0.0_wp  !< total absorbed SW radiation energy in local processor (W)
     
    46864681!--         precompute effective box depth with prototype Leaf Area Density
    46874682            pc_box_dimshift = MAXLOC(ABS(sunorig), 1) - 1
    4688             CALL box_absorb(CSHIFT((/dz(1),dy,dx/), pc_box_dimshift),      &
     4683            CALL box_absorb(CSHIFT((/dz(1),dy,dx/), pc_box_dimshift),       &
    46894684                                60, prototype_lad,                          &
    46904685                                CSHIFT(ABS(sunorig), pc_box_dimshift),      &
    46914686                                pc_box_area, pc_abs_frac)
    4692             pc_box_area = pc_box_area * ABS(sunorig(pc_box_dimshift+1) / sunorig(1))
     4687            pc_box_area = pc_box_area * ABS(sunorig(pc_box_dimshift+1)      &
     4688                          / sunorig(1))
    46934689            pc_abs_eff = LOG(1._wp - pc_abs_frac) / prototype_lad
    46944690         ENDIF
     
    48384834           j = surfl(iy, isurf)
    48394835           i = surfl(ix, isurf)
    4840            surfinswdir(isurf) = rad_sw_in_dir(j,i) * costheta(surfl(id, isurf)) * dsitrans(isurf, isd) / zenith(0)
     4836           surfinswdir(isurf) = rad_sw_in_dir(j,i) *                        &
     4837                costheta(surfl(id, isurf)) * dsitrans(isurf, isd) / zenith(0)
    48414838        ENDDO
    48424839!
     
    52485245      t_rad_urb = ( (pemitlw - pabslw + emissivity_urb*pinlw) / &
    52495246           (emissivity_urb*sigma_sb * area_hor) )**0.25_wp
    5250 !
    5251 !--  It has been turned out that the effective radiative temperature is far
    5252 !--  too high during nighttime, resulting in unphysical radiative forcing
    5253 !--  with wrong signs. For the moment, as a work-around, compute the mean
    5254 !--  surface temperature from all surface elements, resulting in more
    5255 !--  physically meaningful radiative forcings.           
    5256 !      pt_surf_urb_l    = 0.0_wp
    5257 !      count_surfaces_l = 0.0_wp
    5258 !      DO  m = 1, surf_lsm_h%ns
    5259 !         k                = surf_lsm_h%k(m)
    5260 !         pt_surf_urb_l    = pt_surf_urb_l + surf_lsm_h%pt_surface(m)            &
    5261 !                            * exner(k)
    5262 !         count_surfaces_l = count_surfaces_l + 1.0_wp
    5263 !      ENDDO
    5264 !      DO  m = 1, surf_usm_h%ns
    5265 !         k                = surf_usm_h%k(m)
    5266 !         pt_surf_urb_l    = pt_surf_urb_l + surf_usm_h%pt_surface(m)            &
    5267 !                            * exner(k)
    5268 !         count_surfaces_l = count_surfaces_l + 1.0_wp
    5269 !      ENDDO
    5270 !      DO  l = 0, 3
    5271 !         DO  m = 1, surf_lsm_v(l)%ns
    5272 !            k                = surf_lsm_v(l)%k(m)
    5273 !            pt_surf_urb_l    = pt_surf_urb_l + surf_lsm_v(l)%pt_surface(m)      &
    5274 !                            * exner(k)
    5275 !            count_surfaces_l = count_surfaces_l + 1.0_wp
    5276 !         ENDDO
    5277 !         DO  m = 1, surf_usm_v(l)%ns
    5278 !            k                = surf_usm_v(l)%k(m)
    5279 !            pt_surf_urb_l    = pt_surf_urb_l + surf_usm_v(l)%pt_surface(m) * exner(k)
    5280 !            count_surfaces_l = count_surfaces_l + 1.0_wp
    5281 !         ENDDO
    5282 !      ENDDO
    5283 !     
    5284 !      pt_surf_urb    = 0.0_wp
    5285 !      count_surfaces = 0.0_wp
    5286 !     
    5287 ! #if defined( __parallel )
    5288 !      CALL MPI_ALLREDUCE( count_surfaces_l, count_surfaces, 1, MPI_REAL,        &
    5289 !                          MPI_SUM, comm2d, ierr)
    5290 !      CALL MPI_ALLREDUCE( pt_surf_urb_l,  pt_surf_urb,      1, MPI_REAL,        &
    5291 !                          MPI_SUM, comm2d, ierr)
    5292 ! #else
    5293 !      count_surfaces_l = count_surfaces
    5294 !      pt_surf_urb_l    = pt_surf_urb
    5295 ! #endif     
    5296 !
    5297 !      t_rad_urb = pt_surf_urb / count_surfaces
    5298      
    52995247
    53005248    CONTAINS
     
    54695417#endif
    54705418
    5471 
    5472        !INTEGER(iwp), DIMENSION(1:4,inorth_b:iwest_b)  ::  ijdb                               !< start and end of the local domain border coordinates (set in code)
    5473        !LOGICAL, DIMENSION(inorth_b:iwest_b)           ::  isborder                           !< is PE on the border of the domain in four corresponding directions
    5474 
    54755419!
    54765420!--    Find nzub, nzut, nzu via wall_flag_0 array (nzb_s_inner will be
     
    55665510!--    check max_raytracing_dist relative to urban surface layer height
    55675511       mrl = 2.0_wp * nzu * dz(1)
     5512!--    set max_raytracing_dist to double the urban surface layer height, if not set
    55685513       IF ( max_raytracing_dist == -999.0_wp ) THEN
    55695514          max_raytracing_dist = mrl
     5515       ENDIF
     5516!--    check if max_raytracing_dist set too low (here we only warn the user. Other
     5517!      option is to correct the value again to double the urban surface layer height)
     5518       IF ( max_raytracing_dist  <  mrl ) THEN
     5519          WRITE(message_string, '(a,f6.1)') 'Max_raytracing_dist is set less than ', &
     5520               'double the urban surface layer height, i.e. ', mrl
     5521          CALL message('radiation_interaction_init', 'PA0521', 0, 0, -1, 6, 0)
    55705522       ENDIF
    55715523!        IF ( max_raytracing_dist <= mrl ) THEN
     
    63036255               ENDDO
    63046256
    6305                !
    6306                !--Advance itarget indices
     6257!
     6258!--            Advance itarget indices
    63076259               itarg0 = itarg1 + 1
    63086260               itarg1 = itarg1 + nzn
     
    74677419!--     
    74687420         maxboxes = (ntrack + MAX(CEILING(origin(1)-.5_wp) - nzub,          &
    7469                                   nzpt - CEILING(origin(1)-.5_wp))) * nrays
     7421                                  nzut - CEILING(origin(1)-.5_wp))) * nrays
    74707422         IF ( ncsfl + maxboxes > ncsfla )  THEN
    74717423!--         use this code for growing by fixed exponential increments (equivalent to case where ncsfl always increases by 1)
     
    82848236!> It is called outside from usm_urban_surface_mod whenever the radiation fluxes
    82858237!> are needed.
     8238!>
     8239!> This routine is not used so far. However, it may serve as an interface for radiation
     8240!> fluxes of urban and land surfaces
    82868241!>
    82878242!> TODO:
  • palm/trunk/SOURCE/time_integration.f90

    r3347 r3378  
    2525! -----------------
    2626! $Id$
     27! merge from radiation branch (r3362) into trunk
     28! (moh.hefny):
     29! Bugfix in the if statement to call radiation_interaction
     30!
     31! 3347 2018-10-15 14:21:08Z suehring
    2732! - offline nesting separated from large-scale forcing module
    2833! - changes for synthetic turbulence generator
     
    11491154                CALL cpu_log( log_point(50), 'radiation', 'stop' )
    11501155
    1151                 IF ( urban_surface  .OR.  land_surface  .AND.                  &
     1156                IF ( ( urban_surface  .OR.  land_surface )  .AND.               &
    11521157                     radiation_interactions )  THEN
    11531158                   CALL cpu_log( log_point(75), 'radiation_interaction', 'start' )
  • palm/trunk/SOURCE/urban_surface_mod.f90

    r3371 r3378  
    2828! -----------------
    2929! $Id$
     30! merge from radiation branch (r3362) into trunk
     31! (moh.hefny):
     32! - check the requested output variables if they are correct
     33! - added unscheduled_radiation_calls switch to control force_radiation_call
     34! - minor formate changes
     35!
     36! 3371 2018-10-18 13:40:12Z knoop
    3037! Set flag indicating that albedo at urban surfaces is already initialized
    3138!
     
    399406               idcsf, ndcsf, kdcsf, pct,                                       &
    400407               startland, endland, startwall, endwall, skyvf, skyvft, nzub,    &
    401                nzut, nzpt, npcbl, pcbl
     408               nzut, npcbl, pcbl, unscheduled_radiation_calls
    402409
    403410    USE statistics,                                                            &
     
    23992406        IMPLICIT NONE
    24002407 
    2401         CHARACTER (len=*),INTENT(IN)    ::  variable !:
    2402         CHARACTER (len=*),INTENT(OUT)   ::  unit     !:
    2403        
    2404         CHARACTER (len=varnamelength)   :: var
    2405 
     2408        CHARACTER(LEN=*),INTENT(IN)    ::  variable !:
     2409        CHARACTER(LEN=*),INTENT(OUT)   ::  unit     !:
     2410
     2411        INTEGER(iwp)                                  :: i,j          !< index
     2412        CHARACTER(LEN=varnamelength)                  :: var
     2413        INTEGER(iwp), PARAMETER                       :: nl1 = 32     !< number of directional usm variables
     2414        CHARACTER(LEN=varnamelength), DIMENSION(nl1)  :: varlist1 = & !< list of directional usm variables
     2415                  (/'usm_rad_net','usm_rad_insw','usm_rad_inlw','usm_rad_inswdir',     &
     2416                    'usm_rad_inswdif','usm_rad_inswref','usm_rad_inlwdif','usm_wshf',  &
     2417                    'usm_rad_inlwref','usm_rad_outsw','usm_rad_outlw','usm_rad_hf',    &
     2418                    'usm_rad_ressw','usm_rad_reslw','usm_wghf','usm_wghf_window',      &
     2419                    'usm_wghf_green','usm_iwghf','usm_iwghf_window','usm_surfz',       &
     2420                    'usm_surfwintrans','usm_surfcat','usm_surfalb','usm_surfemis',     &
     2421                    'usm_t_surf','usm_t_surf_window','usm_t_surf_green','usm_t_green', &
     2422                    'usm_t_surf_10cm','usm_t_wall','usm_t_window','usm_t_green'/)
     2423
     2424        INTEGER(iwp), PARAMETER                       :: nl2 = 9      !< number of other variables
     2425        CHARACTER(LEN=varnamelength), DIMENSION(nl2)  :: varlist2 = & !< list of other usm variables
     2426                  (/'usm_skyvf','usm_skyvft','usm_svf','usm_dif','usm_rad_pc_inlw',    &
     2427                  'usm_rad_pc_insw','usm_rad_pc_inswdir','usm_rad_pc_inswdif',         &
     2428                  'usm_rad_pc_inswref'/)
     2429
     2430        INTEGER(iwp), PARAMETER                       :: nd = 5     !< number of directions
     2431        CHARACTER(LEN=6), DIMENSION(nd), PARAMETER  :: dirname = &  !< direction names
     2432                  (/'_roof ','_south','_north','_west ','_east '/)
     2433        LOGICAL                                       :: lfound     !< flag if the variable is found
     2434
     2435
     2436        lfound = .FALSE.
    24062437        var = TRIM(variable)
     2438
     2439!--     check if variable exists
     2440!       directional variables
     2441        DO i = 1, nl1
     2442           DO j = 1, nd
     2443              IF ( TRIM(var) == TRIM(varlist1(i))//TRIM(dirname(j)) ) THEN
     2444                 lfound = .TRUE.
     2445                 EXIT
     2446              ENDIF
     2447              IF ( lfound ) EXIT
     2448           ENDDO
     2449        ENDDO
     2450        IF ( lfound ) GOTO 10
     2451!       other variables
     2452        DO i = 1, nl2
     2453           IF ( TRIM(var) == TRIM(varlist2(i)) ) THEN
     2454              lfound = .TRUE.
     2455              EXIT
     2456           ENDIF
     2457        ENDDO
     2458        IF ( .NOT.  lfound ) THEN
     2459           unit = 'illegal'
     2460           RETURN
     2461        ENDIF
     246210      CONTINUE
     2463
     2464!--     check if variable exists
    24072465        IF ( var(1:12) == 'usm_rad_net_'  .OR.  var(1:13) == 'usm_rad_insw_'  .OR.        &
    24082466             var(1:13) == 'usm_rad_inlw_'  .OR.  var(1:16) == 'usm_rad_inswdir_'  .OR.    &
     
    25932651
    25942652          CASE ( 'usm_surfz' )
    2595 !--           array of lw radiation falling to local surface after i-th reflection
     2653!--           array of surface height (z)
    25962654              IF ( idsint == iup_u )  THEN
    25972655                 DO  m = 1, surf_usm_h%ns
     
    53325390              ENDIF
    53335391           ENDDO
    5334 !!!!!!!!!!!!!HACK!!!!!!!!!!!!!!!!!!!
    5335 !           t_window_v_p(l)%t = t_wall_v_p(l)%t
    5336 !           surf_usm_v(l)%tt_window_m  = surf_usm_v(l)%tt_wall_m
    5337 !           t_green_v_p(l)%t = t_wall_v_p(l)%t
    5338 !           surf_usm_v(l)%tt_green_m  = surf_usm_v(l)%tt_wall_m
    5339 !!!!!!!!!!!!!HACK!!!!!!!!!!!!!!!!!!!
    53405392        ENDDO
    53415393
     
    69146966        INTEGER(iwp)                                          :: wtc
    69156967        REAL(wp), DIMENSION(n_surface_params)                 :: wtp
    6916        
    69176968        LOGICAL                                               :: ascii_file = .FALSE.
    6918    
    69196969        INTEGER(iwp), DIMENSION(0:17, nysg:nyng, nxlg:nxrg)   :: usm_par
    69206970        REAL(wp), DIMENSION(1:14, nysg:nyng, nxlg:nxrg)       :: usm_val
     
    77427792!--        in case of fast changes in the skin temperature, it is required to
    77437793!--        update the radiative fluxes in order to keep the solution stable
    7744            IF ( ( ABS( t_surf_h_p(m) - t_surf_h(m) ) > 1.0_wp ) .OR. &
     7794           IF ( ( ( ABS( t_surf_h_p(m) - t_surf_h(m) ) > 1.0_wp ) .OR.          &
    77457795                ( ABS( t_surf_green_h_p(m) - t_surf_green_h(m) ) > 1.0_wp ) .OR. &
    7746                 ( ABS( t_surf_window_h_p(m) - t_surf_window_h(m) ) > 1.0_wp ) ) THEN
     7796                ( ABS( t_surf_window_h_p(m) - t_surf_window_h(m) ) > 1.0_wp ) )  &
     7797                 .AND.  unscheduled_radiation_calls  ) THEN
    77477798              force_radiation_call_l = .TRUE.
    77487799           ENDIF
     
    78977948
    78987949!--           add RK3 term
    7899               t_surf_v_p(l)%t(m) = t_surf_v_p(l)%t(m) + dt_3d * tsc(3) *       &
     7950              t_surf_v_p(l)%t(m) = t_surf_v_p(l)%t(m) + dt_3d * tsc(3) *                   &
    79007951                                surf_usm_v(l)%tt_surface_m(m)
    79017952              t_surf_window_v_p(l)%t(m) = t_surf_window_v_p(l)%t(m) + dt_3d * tsc(3) *     &
     
    79077958!--           store also vpt_surface, which is, due to the lack of moisture on roofs simply
    79087959!--           assumed to be the surface temperature.     
    7909               surf_usm_v(l)%pt_surface(m) =  ( surf_usm_v(l)%frac(ind_veg_wall,m) * t_surf_v_p(l)%t(m)  &
    7910                                       + surf_usm_v(l)%frac(ind_wat_win,m) * t_surf_window_v_p(l)%t(m)  &
     7960              surf_usm_v(l)%pt_surface(m) =  ( surf_usm_v(l)%frac(ind_veg_wall,m) * t_surf_v_p(l)%t(m)   &
     7961                                      + surf_usm_v(l)%frac(ind_wat_win,m) * t_surf_window_v_p(l)%t(m)    &
    79117962                                      + surf_usm_v(l)%frac(ind_pav_green,m) * t_surf_green_v_p(l)%t(m) ) &
    79127963                                      / exner(k)
     
    79207971              stend_window = ( t_surf_window_v_p(l)%t(m) - t_surf_window_v(l)%t(m) - dt_3d * tsc(3) *&
    79217972                        surf_usm_v(l)%tt_surface_window_m(m) ) / ( dt_3d  * tsc(2) )
    7922               stend_green = ( t_surf_green_v_p(l)%t(m) - t_surf_green_v(l)%t(m) - dt_3d * tsc(3) *&
     7973              stend_green = ( t_surf_green_v_p(l)%t(m) - t_surf_green_v(l)%t(m) - dt_3d * tsc(3) *   &
    79237974                        surf_usm_v(l)%tt_surface_green_m(m) ) / ( dt_3d  * tsc(2) )
    79247975
     
    79297980                    surf_usm_v(l)%tt_surface_window_m(m) = stend_window
    79307981                    surf_usm_v(l)%tt_surface_green_m(m) = stend_green
    7931                  ELSEIF ( intermediate_timestep_count <                        &
     7982                 ELSEIF ( intermediate_timestep_count <                                 &
    79327983                          intermediate_timestep_count_max )  THEN
    7933                     surf_usm_v(l)%tt_surface_m(m) = -9.5625_wp * stend +       &
     7984                    surf_usm_v(l)%tt_surface_m(m) = -9.5625_wp * stend +                &
    79347985                                     5.3125_wp * surf_usm_v(l)%tt_surface_m(m)
    7935                     surf_usm_v(l)%tt_surface_green_m(m) = -9.5625_wp * stend_green +       &
     7986                    surf_usm_v(l)%tt_surface_green_m(m) = -9.5625_wp * stend_green +    &
    79367987                                     5.3125_wp * surf_usm_v(l)%tt_surface_green_m(m)
    7937                     surf_usm_v(l)%tt_surface_window_m(m) = -9.5625_wp * stend_window +       &
     7988                    surf_usm_v(l)%tt_surface_window_m(m) = -9.5625_wp * stend_window +  &
    79387989                                     5.3125_wp * surf_usm_v(l)%tt_surface_window_m(m)
    79397990                 ENDIF
     
    79437994!--           update the radiative fluxes in order to keep the solution stable
    79447995
    7945               IF ( ( ABS( t_surf_v_p(l)%t(m) - t_surf_v(l)%t(m) ) > 1.0_wp ) .OR. &
     7996              IF ( ( ( ABS( t_surf_v_p(l)%t(m) - t_surf_v(l)%t(m) ) > 1.0_wp ) .OR.            &
    79467997                   ( ABS( t_surf_green_v_p(l)%t(m) - t_surf_green_v(l)%t(m) ) > 1.0_wp ) .OR.  &
    7947                    ( ABS( t_surf_window_v_p(l)%t(m) - t_surf_window_v(l)%t(m) ) > 1.0_wp ) ) THEN
     7998                   ( ABS( t_surf_window_v_p(l)%t(m) - t_surf_window_v(l)%t(m) ) > 1.0_wp ) )   &
     7999                     .AND.  unscheduled_radiation_calls ) THEN
    79488000                 force_radiation_call_l = .TRUE.
    79498001              ENDIF
Note: See TracChangeset for help on using the changeset viewer.