Ignore:
Timestamp:
Oct 29, 2018 6:14:31 PM (3 years ago)
Author:
kanani
Message:

Implementation of human thermal indices (from branch biomet_p2 at r3444)

File:
1 edited

Legend:

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

    r3435 r3448  
    2525! -----------------
    2626! $Id$
     27! Adjustment of biometeorology calls
     28!
     29! 3435 2018-10-26 18:25:44Z gronemeier
    2730! Bugfix: corrected order of calls to define_netcdf_grid for masked output
    2831! Add vertical dimensions to masked output in case of terrain-following output
     
    312315
    313316    USE control_parameters,                                                    &
    314         ONLY:  fl_max, max_masks, multi_agent_system_end,                      &
     317        ONLY:  biometeorology, fl_max,                                         &
     318               max_masks, multi_agent_system_end,                              &
    315319               multi_agent_system_start, var_fl_max, varnamelength
    316320    USE kinds
     
    326330          (/ 'ag_id           ', 'ag_x            ', 'ag_y            ',       &
    327331             'ag_wind         ', 'ag_temp         ', 'ag_group        ',       &
    328              'PM10            ', 'PM25            ', 'ag_therm_comf   ',       &
     332             'PM10            ', 'PM25            ', 'ag_iPT          ',       &
    329333             'ag_uv           ', 'not_used        ', 'not_used        ',       &
    330334             'not_used        ' /)
     
    513517                   id_var_zu_mask, id_var_zw_mask, &
    514518                   id_var_zusi_mask, id_var_zwwi_mask
    515                    
     519
    516520    INTEGER(iwp), DIMENSION(1:max_masks,0:1,0:2) ::  id_var_eutm_mask, &
    517521                                                     id_var_nutm_mask
     
    576580    USE arrays_3d,                                                             &
    577581        ONLY:  zu, zw
     582
     583    USE biometeorology_mod,                                                    &
     584        ONLY:  biom_define_netcdf_grid
    578585
    579586    USE chemistry_model_mod,                                                   &
     
    635642    USE radiation_model_mod,                                                   &
    636643        ONLY: radiation, radiation_define_netcdf_grid
    637 
    638     USE biometeorology_mod,                                                    &
    639         ONLY: biometeorology_define_netcdf_grid
    640644
    641645    USE spectra_mod,                                                           &
     
    11321136                   ENDIF
    11331137!
    1134 !--                Check for biometeorology quantities
    1135                    IF ( .NOT. found  .AND.  radiation )  THEN
    1136                       CALL biometeorology_define_netcdf_grid( domask(mid,av,i),&
    1137                                                          found, grid_x, grid_y,&
    1138                                                          grid_z )
    1139                    ENDIF
    1140 !
    11411138!--                Now check for user-defined quantities
    11421139                   IF ( .NOT. found )  THEN
     
    18721869                   ENDIF
    18731870
    1874 !
    1875 !--                Check for biometeorology quantities
    1876                    IF ( .NOT. found  .AND.  radiation )  THEN
    1877                       CALL biometeorology_define_netcdf_grid( do3d(av,i), found,&
    1878                                                          grid_x, grid_y,       &
    1879                                                          grid_z )
    1880                    ENDIF
    1881 
    18821871!--                Check for gust module quantities
    18831872                   IF ( .NOT. found  .AND.  gust_module_enabled )  THEN
    18841873                      CALL gust_define_netcdf_grid( do3d(av,i), found, grid_x, &
    18851874                                                    grid_y, grid_z )
     1875                   ENDIF
     1876
     1877!
     1878!--                Check for biometeorology quantities
     1879                   IF ( .NOT. found  .AND.  biometeorology )  THEN
     1880                      CALL biom_define_netcdf_grid( do3d(av,i), found,         &
     1881                                                    grid_x, grid_y, grid_z )
    18861882                   ENDIF
    18871883
     
    24692465
    24702466          ENDDO
     2467!
     2468!--       Define vars for biometeorology
     2469          CALL netcdf_create_var( id_set_agt, (/ id_dim_agtnum,                &
     2470                                  id_dim_time_agt /), agt_var_names(9),        &
     2471                                  nc_precision(8), id_var_agt(9),              &
     2472                                  TRIM( agt_var_units(9) ),                    &
     2473                                  TRIM( agt_var_names(9) ), 339, 340, 341 )
     2474
    24712475!
    24722476!--       Leave netCDF define mode
     
    28272831
    28282832!
    2829 !--                      Check for biometeorology quantities
    2830                          IF ( .NOT. found  .AND.  radiation )  THEN
    2831                             CALL biometeorology_define_netcdf_grid( do2d(av,i),&
    2832                                                          found, grid_x, grid_y,&
    2833                                                          grid_z )
    2834                          ENDIF
    2835 
    2836 !
    28372833!--                      Check for gust module quantities
    28382834                         IF ( .NOT. found  .AND.  gust_module_enabled )  THEN
     
    28412837                                                          grid_z )
    28422838                         ENDIF
    2843 
     2839!
     2840!--                      Check for human thermal comfort quantities
     2841                         IF ( .NOT. found  .AND.  biometeorology )  THEN
     2842                            CALL biom_define_netcdf_grid( do2d( av, i), found, &
     2843                                                          grid_x, grid_y,      &
     2844                                                          grid_z )
     2845                         ENDIF
    28442846!
    28452847!--                      Check for chemistry quantities
     
    28942896                   ELSEIF ( grid_z == 'zs' )  THEN
    28952897                      id_z = id_dim_zs_xy(av)
     2898                   ELSEIF ( grid_z == 'zu1' )  THEN
     2899                      id_z = id_dim_zu1_xy(av)
    28962900                   ENDIF
    28972901
     
    31883192                                          count = (/ nx+1, ny+1 /) )
    31893193                  CALL netcdf_handle_error( 'netcdf_define_header', 556 )
    3190                
     3194
    31913195                ENDDO
    31923196                DEALLOCATE( netcdf_data_2d )
     
    37243728
    37253729!
    3726 !--                   Check for biometeorology quantities
    3727                       IF ( .NOT. found  .AND.  radiation )  THEN
    3728                          CALL biometeorology_define_netcdf_grid( do2d(av,i),   &
    3729                                                             found,             &
    3730                                                             grid_x, grid_y,    &
    3731                                                             grid_z )
    3732                       ENDIF
    3733 
    3734 !
    37353730!--                   Check for gust module quantities
    37363731                      IF ( .NOT. found  .AND.  gust_module_enabled )  THEN
     
    45824577
    45834578!
    4584 !--                   Check for biometeorology quantities
    4585                       IF ( .NOT. found  .AND.  radiation )  THEN
    4586                          CALL biometeorology_define_netcdf_grid( do2d(av,i),   &
    4587                                                             found,             &
    4588                                                             grid_x, grid_y,    &
    4589                                                             grid_z )
    4590                       ENDIF
    4591 
    4592 !
    45934579!--                   Check for gust module quantities
    45944580                      IF ( .NOT. found  .AND.  gust_module_enabled )  THEN
Note: See TracChangeset for help on using the changeset viewer.