Changeset 2970


Ignore:
Timestamp:
Apr 13, 2018 3:09:23 PM (6 years ago)
Author:
suehring
Message:

Bugfix in large-scale forcing

Location:
palm/trunk/SOURCE
Files:
3 edited

Legend:

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

    r2964 r2970  
    2525! -----------------
    2626! $Id$
     27! Bugfix in old large-scale forcing mode
     28!
     29! 2964 2018-04-12 16:04:03Z Giersch
    2730! Calculation of fixed number of output time levels for parallel netcdf output
    2831! has been revised (based on calculations in netcdf_interface_mod)
     
    644647
    645648    USE lsf_nudging_mod,                                                       &
    646         ONLY:  lsf_nudging_check_parameters, lsf_nudging_check_data_output_pr, &
    647                qsws_surf, shf_surf
     649        ONLY:  lsf_nudging_check_parameters, lsf_nudging_check_data_output_pr
    648650
    649651    USE kinds
     
    20042006          ELSEIF ( ibc_pt_b == 1 )  THEN
    20052007             constant_heatflux = .TRUE.
    2006              IF ( TRIM( initializing_actions ) /= 'read_restart_data'  .AND.   &
    2007                   .NOT.  land_surface )  THEN
    2008                 surface_heatflux = shf_surf(1)
    2009              ELSE
    2010                 surface_heatflux = 0.0_wp
    2011              ENDIF
     2008             surface_heatflux = 0.0_wp
    20122009          ENDIF
    20132010       ENDIF
    20142011    ELSE
    2015         constant_heatflux = .TRUE.
    2016         IF ( TRIM( initializing_actions ) /= 'read_restart_data'  .AND.        &
    2017              large_scale_forcing  .AND.  .NOT.  land_surface )  THEN
    2018            surface_heatflux = shf_surf(1)
    2019         ENDIF
     2012       constant_heatflux = .TRUE.
    20202013    ENDIF
    20212014
     
    21322125             ELSEIF ( ibc_q_b == 1 )  THEN
    21332126                constant_waterflux = .TRUE.
    2134                 IF ( TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
    2135                    surface_waterflux = qsws_surf(1)
    2136                 ENDIF
    21372127             ENDIF
    21382128          ENDIF
    21392129       ELSE
    21402130          constant_waterflux = .TRUE.
    2141           IF ( TRIM( initializing_actions ) /= 'read_restart_data'  .AND.      &
    2142                large_scale_forcing )  THEN
    2143              surface_waterflux = qsws_surf(1)
    2144           ENDIF
    21452131       ENDIF
    21462132
  • palm/trunk/SOURCE/large_scale_forcing_nudging_mod.f90

    r2938 r2970  
    2525! -----------------
    2626! $Id$
     27! Bugfix in old large-scale forcing mode
     28!
     29! 2938 2018-03-27 15:52:42Z suehring
    2730! Further improvements for nesting in larger-scale model
    2831!
     
    6265    USE control_parameters,                                                    &
    6366        ONLY:  bc_lr, bc_ns, bc_pt_b, bc_q_b, constant_diffusion,              &
     67               constant_heatflux, constant_waterflux,                          &
    6468               data_output_pr, dt_3d, end_time, forcing,                       &
    6569               force_bound_l, force_bound_n, force_bound_r, force_bound_s,     & 
    66                humidity, intermediate_timestep_count, ibc_pt_b, ibc_q_b,       &
     70               humidity, initializing_actions, intermediate_timestep_count,    &
     71               ibc_pt_b, ibc_q_b,                                              &
    6772               large_scale_forcing, large_scale_subsidence, lsf_surf, lsf_vert,&
    6873               lsf_exception, message_string, neutral, nudging, passive_scalar,&
    69                pt_surface, ocean, q_surface, surface_pressure, topography,     &
     74               pt_surface, ocean, q_surface, surface_heatflux,                 &
     75               surface_pressure, surface_waterflux, topography,                &
    7076               use_subsidence_tendencies
    7177
     
    729735
    730736       IF ( large_scale_forcing  .AND.  ( bc_lr /= 'cyclic'  .OR.              &
    731                                        bc_ns /= 'cyclic' ) )  THEN
     737                                          bc_ns /= 'cyclic' ) )  THEN
    732738          message_string = 'Non-cyclic lateral boundaries do not allow for &'//&
    733739                        'the usage of large scale forcing from external file.'
     
    14721478
    14731479       ENDIF
     1480!
     1481!--    Surface heat- and waterflux will be written later onto surface elements
     1482       IF ( .NOT.  neutral  .AND.  constant_heatflux  .AND.                    &
     1483            TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
     1484             surface_heatflux = shf_surf(1)
     1485       ENDIF
     1486       IF ( humidity  .AND.  constant_waterflux  .AND.                         &
     1487            TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
     1488             surface_waterflux = qsws_surf(1)
     1489       ENDIF
    14741490
    14751491       surface_pressure = p_surf(nt) + fac * ( p_surf(nt+1) - p_surf(nt) )
  • palm/trunk/SOURCE/surface_mod.f90

    r2963 r2970  
    2626! -----------------
    2727! $Id$
     28! Remove un-necessary initialization of surface elements in old large-scale
     29! forcing mode
     30!
     31! 2963 2018-04-12 14:47:44Z suehring
    2832! Introduce index for vegetation/wall, pavement/green-wall and water/window
    2933! surfaces, for clearer access of surface fraction, albedo, emissivity, etc. .
     
    20892093                            surf%shf(num_h) = wall_heatflux(0) *               &
    20902094                                                 heatflux_input_conversion(k-1)
    2091                          ENDIF
    2092 !
    2093 !--                      Initialize shf with data from external file LSF_DATA. Will
    2094 !--                      be done directly in ls_foring_surf
    2095 !--                      Attention: Just a workaround, need to be revised!!!
    2096                          IF ( large_scale_forcing .AND. lsf_surf )  THEN
    2097 !                             CALL ls_forcing_surf ( simulated_time )
    2098 !                             surf%shf(num_h) = shf(j,i) 
    20992095                         ENDIF
    21002096                      ENDIF
Note: See TracChangeset for help on using the changeset viewer.