Ignore:
Timestamp:
Feb 14, 2019 11:25:22 AM (3 years ago)
Author:
dom_dwd_user
Message:

biometeorology_mod.f90:
(C) Allocation of the input _av grids was moved to the "sum" section of bio_3d_data_averaging to make sure averaging is only done once!
(B) Moved call of bio_calculate_thermal_index_maps from biometeorology module to time_integration (ll 1712) to make sure averaged input is updated before calculating.

time_integration.f90:
(B) Moved call of bio_calculate_thermal_index_maps from biometeorology module to time_integration (ll 1712) to make sure averaged input is updated before calculating.

File:
1 edited

Legend:

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

    r3739 r3742  
    2525! -----------------
    2626! $Id$
     27! - Moved call of bio_calculate_thermal_index_maps from biometeorology module to
     28! time_integration to make sure averaged input is updated before calculating.
     29!
     30! 3739 2019-02-13 08:05:17Z dom_dwd_user
    2731! Removed everything related to "time_bio_results" as this is never used.
    2832!
     
    16351639       IF ( time_dopr_listing >= dt_dopr_listing )  THEN
    16361640          CALL print_1d
    1637           time_dopr_listing = MOD( time_dopr_listing, MAX( dt_dopr_listing, &
     1641          time_dopr_listing = MOD( time_dopr_listing, MAX( dt_dopr_listing,    &
    16381642                                                           dt_3d ) )
    16391643       ENDIF
     
    16411645!
    16421646!--    Graphic output for PROFIL
    1643        IF (        time_dopr >= dt_dopr                                     &
     1647       IF (        time_dopr >= dt_dopr                                        &
    16441648            .AND.  time_since_reference_point >= skip_time_dopr )  THEN
    16451649          IF ( dopr_n /= 0 )  CALL data_output_profiles
     
    16581662!--    Output of spectra (formatted for use with PROFIL), in case of no
    16591663!--    time averaging, spectra has to be calculated before
    1660        IF (         time_dosp >= dt_dosp                                     &
     1664       IF (         time_dosp >= dt_dosp                                       &
    16611665             .AND.  time_since_reference_point >= skip_time_dosp )  THEN
    16621666          IF ( average_count_sp == 0 )  CALL calc_spectra
     
    16671671!
    16681672!--    2d-data output (cross-sections)
    1669        IF (         time_do2d_xy >= dt_do2d_xy                               &
     1673       IF (         time_do2d_xy >= dt_do2d_xy                                 &
    16701674             .AND.  time_since_reference_point >= skip_time_do2d_xy )  THEN
    16711675          CALL data_output_2d( 'xy', 0 )
    16721676          time_do2d_xy = MOD( time_do2d_xy, MAX( dt_do2d_xy, dt_3d ) )
    16731677       ENDIF
    1674        IF (         time_do2d_xz >= dt_do2d_xz                               &
     1678       IF (         time_do2d_xz >= dt_do2d_xz                                 &
    16751679             .AND.  time_since_reference_point >= skip_time_do2d_xz )  THEN
    16761680          CALL data_output_2d( 'xz', 0 )
    16771681          time_do2d_xz = MOD( time_do2d_xz, MAX( dt_do2d_xz, dt_3d ) )
    16781682       ENDIF
    1679        IF (         time_do2d_yz >= dt_do2d_yz                               &
     1683       IF (         time_do2d_yz >= dt_do2d_yz                                 &
    16801684             .AND.  time_since_reference_point >= skip_time_do2d_yz )  THEN
    16811685          CALL data_output_2d( 'yz', 0 )
     
    16851689!
    16861690!--    3d-data output (volume data)
    1687        IF (         time_do3d >= dt_do3d                                     &
     1691       IF (         time_do3d >= dt_do3d                                       &
    16881692             .AND.  time_since_reference_point >= skip_time_do3d )  THEN
    16891693          CALL data_output_3d( 0 )
     
    16941698!--    Masked data output
    16951699       DO  mid = 1, masks
    1696           IF (         time_domask(mid) >= dt_domask(mid)                          &
     1700          IF (         time_domask(mid) >= dt_domask(mid)                      &
    16971701                .AND.  time_since_reference_point >= skip_time_domask(mid) )  THEN
    16981702             CALL data_output_mask( 0 )
    1699              time_domask(mid) = MOD( time_domask(mid),                             &
     1703             time_domask(mid) = MOD( time_domask(mid),                         &
    17001704                                     MAX( dt_domask(mid), dt_3d ) )
    17011705          ENDIF
     
    17041708!
    17051709!--    Output of time-averaged 2d/3d/masked data
    1706        IF (         time_do_av >= dt_data_output_av                                &
     1710       IF (         time_do_av >= dt_data_output_av                            &
    17071711             .AND.  time_since_reference_point >= skip_time_data_output_av )  THEN
    17081712          CALL average_3d_data
     1713!
     1714!--       Udate thermal comfort indices based on updated averaged input
     1715          IF ( biometeorology  .AND.  thermal_comfort )  THEN
     1716             CALL bio_calculate_thermal_index_maps ( .TRUE. )
     1717          ENDIF
    17091718          CALL data_output_2d( 'xy', 1 )
    17101719          CALL data_output_2d( 'xz', 1 )
     
    17191728!--    Output of surface data, instantaneous and averaged data
    17201729       IF ( surface_output )  THEN
    1721           IF (         time_dosurf >= dt_dosurf                                    &
     1730          IF (         time_dosurf >= dt_dosurf                                &
    17221731                .AND.  time_since_reference_point >= skip_time_dosurf )  THEN
    17231732             CALL surface_data_output( 0 )
    17241733             time_dosurf = MOD( time_dosurf, MAX( dt_dosurf, dt_3d ) )
    17251734          ENDIF
    1726           IF (         time_dosurf_av >= dt_dosurf_av                              &
     1735          IF (         time_dosurf_av >= dt_dosurf_av                          &
    17271736                .AND.  time_since_reference_point >= skip_time_dosurf_av )  THEN
    17281737             CALL surface_data_output( 1 )
Note: See TracChangeset for help on using the changeset viewer.