Ignore:
Timestamp:
Feb 15, 2019 6:38:58 PM (3 years ago)
Author:
suehring
Message:

Coupling of indoor model to atmosphere; output of indoor temperatures and waste heat; enable restarts with indoor model; bugfix plant transpiration; bugfix - missing calculation of 10cm temperature

File:
1 edited

Legend:

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

    r3736 r3744  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Output of waste_heat and innermost wall flux from indoor model
    2323!
    2424! Former revisions:
     
    2828! clean-up coding layout
    2929!
    30 ! 3735 2019-02-12 09:52:40Z dom_dwd_user
     30! 3735 2019-02-12 09:52:40Z suehring
    3131! - Split initialization into initialization of arrays and further initialization
    3232!   in order to enable reading of restart data.
     
    7676! Authors:
    7777! --------
    78 ! @author Klaus Ketelsen, Matthias Suehring
     78! @author Klaus Ketelsen, Matthias Suehring, Tobias Gronemeier
    7979!
    8080! Description:
     
    27782778
    27792779               ENDIF
    2780 
     2780               
    27812781            CASE ( 'uvw1' )
    27822782!
     
    28072807
    28082808               ENDIF
    2809 
     2809!
     2810!--         Waste heat from indoor model
     2811            CASE ( 'waste_heat' )
     2812!
     2813!--            Output of instantaneous data
     2814               IF ( av == 0 )  THEN
     2815                  CALL surface_data_output_collect( surf_def_h(0)%waste_heat,  &
     2816                                               surf_def_h(1)%waste_heat,       &
     2817                                               surf_lsm_h%waste_heat,          &
     2818                                               surf_usm_h%waste_heat,          &
     2819                                               surf_def_v(0)%waste_heat,       &
     2820                                               surf_lsm_v(0)%waste_heat,       &
     2821                                               surf_usm_v(0)%waste_heat,       &
     2822                                               surf_def_v(1)%waste_heat,       &
     2823                                               surf_lsm_v(1)%waste_heat,       &
     2824                                               surf_usm_v(1)%waste_heat,       &
     2825                                               surf_def_v(2)%waste_heat,       &
     2826                                               surf_lsm_v(2)%waste_heat,       &
     2827                                               surf_usm_v(2)%waste_heat,       &
     2828                                               surf_def_v(3)%waste_heat,       &
     2829                                               surf_lsm_v(3)%waste_heat,       &
     2830                                               surf_usm_v(3)%waste_heat )
     2831               ELSE
     2832!
     2833!--               Output of averaged data
     2834                  surfaces%var_out(:) = surfaces%var_av(:,n_out) /             &
     2835                                        REAL( average_count_surf, KIND=wp )
     2836                  surfaces%var_av(:,n_out) = 0.0_wp
     2837
     2838               ENDIF
     2839!
     2840!--         Innermost building wall flux from indoor model
     2841            CASE ( 'im_hf' )
     2842!
     2843!--            Output of instantaneous data
     2844               IF ( av == 0 )  THEN
     2845                  CALL surface_data_output_collect( surf_def_h(0)%iwghf_eb,    &
     2846                                               surf_def_h(1)%iwghf_eb,         &
     2847                                               surf_lsm_h%iwghf_eb,            &
     2848                                               surf_usm_h%iwghf_eb,            &
     2849                                               surf_def_v(0)%iwghf_eb,         &
     2850                                               surf_lsm_v(0)%iwghf_eb,         &
     2851                                               surf_usm_v(0)%iwghf_eb,         &
     2852                                               surf_def_v(1)%iwghf_eb,         &
     2853                                               surf_lsm_v(1)%iwghf_eb,         &
     2854                                               surf_usm_v(1)%iwghf_eb,         &
     2855                                               surf_def_v(2)%iwghf_eb,         &
     2856                                               surf_lsm_v(2)%iwghf_eb,         &
     2857                                               surf_usm_v(2)%iwghf_eb,         &
     2858                                               surf_def_v(3)%iwghf_eb,         &
     2859                                               surf_lsm_v(3)%iwghf_eb,         &
     2860                                               surf_usm_v(3)%iwghf_eb )
     2861               ELSE
     2862!
     2863!--               Output of averaged data
     2864                  surfaces%var_out(:) = surfaces%var_av(:,n_out) /             &
     2865                                        REAL( average_count_surf, KIND=wp )
     2866                  surfaces%var_av(:,n_out) = 0.0_wp
     2867
     2868               ENDIF
    28102869!
    28112870!--            Add further variables:
     
    37063765                                           surf_lsm_v(3)%uvw_abs,              &
    37073766                                           surf_usm_v(3)%uvw_abs, n_out )
     3767                                           
     3768            CASE ( 'waste_heat' )
     3769               CALL surface_data_output_sum_up( surf_def_h(0)%waste_heat,      &
     3770                                           surf_def_h(1)%waste_heat,           &
     3771                                           surf_lsm_h%waste_heat,              &
     3772                                           surf_usm_h%waste_heat,              &
     3773                                           surf_def_v(0)%waste_heat,           &
     3774                                           surf_lsm_v(0)%waste_heat,           &
     3775                                           surf_usm_v(0)%waste_heat,           &
     3776                                           surf_def_v(1)%waste_heat,           &
     3777                                           surf_lsm_v(1)%waste_heat,           &
     3778                                           surf_usm_v(1)%waste_heat,           &
     3779                                           surf_def_v(2)%waste_heat,           &
     3780                                           surf_lsm_v(2)%waste_heat,           &
     3781                                           surf_usm_v(2)%waste_heat,           &
     3782                                           surf_def_v(3)%waste_heat,           &
     3783                                           surf_lsm_v(3)%waste_heat,           &
     3784                                           surf_usm_v(3)%waste_heat, n_out )
     3785                                           
     3786            CASE ( 'im_hf' )
     3787               CALL surface_data_output_sum_up( surf_def_h(0)%iwghf_eb,        &
     3788                                           surf_def_h(1)%iwghf_eb,             &
     3789                                           surf_lsm_h%iwghf_eb,                &
     3790                                           surf_usm_h%iwghf_eb,                &
     3791                                           surf_def_v(0)%iwghf_eb,             &
     3792                                           surf_lsm_v(0)%iwghf_eb,             &
     3793                                           surf_usm_v(0)%iwghf_eb,             &
     3794                                           surf_def_v(1)%iwghf_eb,             &
     3795                                           surf_lsm_v(1)%iwghf_eb,             &
     3796                                           surf_usm_v(1)%iwghf_eb,             &
     3797                                           surf_def_v(2)%iwghf_eb,             &
     3798                                           surf_lsm_v(2)%iwghf_eb,             &
     3799                                           surf_usm_v(2)%iwghf_eb,             &
     3800                                           surf_def_v(3)%iwghf_eb,             &
     3801                                           surf_lsm_v(3)%iwghf_eb,             &
     3802                                           surf_usm_v(3)%iwghf_eb, n_out )
    37083803
    37093804         END SELECT
     
    41614256
    41624257       USE control_parameters,                                                 &
    4163            ONLY:  averaging_interval, dt_data_output, initializing_actions,    &
    4164                   message_string
     4258           ONLY:  averaging_interval, dt_data_output, indoor_model,            &
     4259                  initializing_actions, message_string
    41654260
    41664261       USE pegrid,                                                             &
     
    42934388            CASE ( 'r_a', 'r_canopy', 'r_soil', 'r_s' )
    42944389               unit = 's/m'
     4390               
     4391            CASE ( 'waste_heat', 'im_hf' )
     4392               IF ( .NOT. indoor_model )  THEN
     4393                  message_string = TRIM( trimvar ) //                          &
     4394                             ' requires the indoor model'
     4395               CALL message( 'surface_data_output_check_parameters',           &
     4396                             'PA0588', 1, 2, 0, 6, 0 )
     4397               ENDIF
     4398           
     4399               unit = 'W/m2'
    42954400
    42964401            CASE DEFAULT
Note: See TracChangeset for help on using the changeset viewer.