Ignore:
Timestamp:
Jun 6, 2019 12:16:46 PM (5 years ago)
Author:
schwenkel
Message:

Modularization of all lagrangian particle model code components

File:
1 edited

Legend:

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

    r3990 r4017  
    11951195    INTEGER(iwp) ::  dots_time_count = 0               !< number of output intervals for timeseries output
    11961196    INTEGER(iwp) ::  dp_level_ind_b = 0                !< lowest grid index for external pressure gradient forcing
    1197     INTEGER(iwp) ::  dvrp_filecount = 0                !< parameter for dvr visualization software
    11981197    INTEGER(iwp) ::  ensemble_member_nr = 0            !< namelist parameter
    11991198    INTEGER(iwp) ::  gamma_mg                          !< switch for steering the multigrid cycle: 1: v-cycle, 2: w-cycle
     
    14601459    REAL(wp) ::  dt_do2d_yz = 9999999.9_wp                     !< namelist parameter
    14611460    REAL(wp) ::  dt_do3d = 9999999.9_wp                        !< namelist parameter
    1462     REAL(wp) ::  dt_dvrp = 9999999.9_wp                        !< namelist parameter
    14631461    REAL(wp) ::  dt_max = 20.0_wp                              !< namelist parameter
    14641462    REAL(wp) ::  dt_restart = 9999999.9_wp                     !< namelist parameter
     
    15451543    REAL(wp) ::  time_do_av = 0.0_wp                           !< time since last averaged-data output
    15461544    REAL(wp) ::  time_do_sla = 0.0_wp                          !< time since last
    1547     REAL(wp) ::  time_dvrp = 0.0_wp                            !< time since last dvrp output
    15481545    REAL(wp) ::  time_restart = 9999999.9_wp                   !< time at which run shall be terminated and restarted
    15491546    REAL(wp) ::  time_run_control = 0.0_wp                     !< time since last RUN_CONTROL output
     
    16271624
    16281625 END MODULE control_parameters
    1629 
    1630 
    1631 !------------------------------------------------------------------------------!
    1632 ! Description:
    1633 ! ------------
    1634 !> Definition of variables used with dvrp-software.
    1635 !------------------------------------------------------------------------------!
    1636  MODULE dvrp_variables
    1637 
    1638     USE kinds
    1639 
    1640     CHARACTER (LEN=10) ::  dvrp_output = 'rtsp'        !< dvr namelist parameter
    1641     CHARACTER (LEN=10) ::  particle_color = 'none'     !< dvr namelist parameter
    1642     CHARACTER (LEN=10) ::  particle_dvrpsize = 'none'  !< dvr namelist parameter
    1643 
    1644     CHARACTER (LEN=20), DIMENSION(10) ::  mode_dvrp = &  !< dvr namelist parameter
    1645                                      (/ ( '                    ', i9 = 1,10 ) /)
    1646 
    1647     CHARACTER (LEN=80) ::  dvrp_directory = 'default'                     !< dvr namelist parameter
    1648     CHARACTER (LEN=80) ::  dvrp_file      = 'default'                     !< dvr namelist parameter
    1649     CHARACTER (LEN=80) ::  dvrp_host      = 'origin.rvs.uni-hannover.de'  !< dvr namelist parameter
    1650     CHARACTER (LEN=80) ::  dvrp_password  = '********'                    !< dvr namelist parameter
    1651     CHARACTER (LEN=80) ::  dvrp_username  = ' '                           !< dvr namelist parameter
    1652 
    1653     INTEGER(iwp) ::  cluster_size = 1                   !< dvr namelist parameter
    1654     INTEGER(iwp) ::  dvrp_colortable_entries = 4        !< internal dvr software variable
    1655     INTEGER(iwp) ::  dvrp_colortable_entries_prt = 22   !< internal dvr software variable
    1656     INTEGER(iwp) ::  islice_dvrp                        !< internal dvr software variable
    1657     INTEGER(iwp) ::  nx_dvrp                            !< internal dvr software variable
    1658     INTEGER(iwp) ::  nxl_dvrp                           !< internal dvr software variable
    1659     INTEGER(iwp) ::  nxr_dvrp                           !< internal dvr software variable
    1660     INTEGER(iwp) ::  ny_dvrp                            !< internal dvr software variable
    1661     INTEGER(iwp) ::  nyn_dvrp                           !< internal dvr software variable
    1662     INTEGER(iwp) ::  nys_dvrp                           !< internal dvr software variable
    1663     INTEGER(iwp) ::  nz_dvrp                            !< internal dvr software variable
    1664     INTEGER(iwp) ::  pathlines_fadeintime = 5           !< dvr namelist parameter
    1665     INTEGER(iwp) ::  pathlines_fadeouttime = 5          !< dvr namelist parameter
    1666     INTEGER(iwp) ::  pathlines_linecount = 1000         !< dvr namelist parameter
    1667     INTEGER(iwp) ::  pathlines_maxhistory = 40          !< dvr namelist parameter
    1668     INTEGER(iwp) ::  pathlines_wavecount = 10           !< dvr namelist parameter
    1669     INTEGER(iwp) ::  pathlines_wavetime = 50            !< dvr namelist parameter
    1670     INTEGER(iwp) ::  vc_gradient_normals = 0            !< dvr namelist parameter
    1671     INTEGER(iwp) ::  vc_mode = 0                        !< dvr namelist parameter
    1672     INTEGER(iwp) ::  vc_size_x = 2                      !< dvr namelist parameter
    1673     INTEGER(iwp) ::  vc_size_y = 2                      !< dvr namelist parameter
    1674     INTEGER(iwp) ::  vc_size_z = 2                      !< dvr namelist parameter
    1675 
    1676     INTEGER(iwp), DIMENSION(10) ::  slicer_position_dvrp  !< internal dvr software variable
    1677 
    1678     LOGICAL ::  cyclic_dvrp = .FALSE.                      !< internal dvr software variable
    1679     LOGICAL ::  dvrp_overlap                               !< internal dvr software variable
    1680     LOGICAL ::  dvrp_total_overlap                         !< internal dvr software variable
    1681     LOGICAL ::  local_dvrserver_running                    !< namelist parameter (ENVPAR namelist provided by palmrun)
    1682     LOGICAL ::  lock_steering_update = .FALSE.             !< internal dvr software variable
    1683     LOGICAL ::  use_seperate_pe_for_dvrp_output = .FALSE.  !< internal dvr software variable
    1684 
    1685     REAL(wp) ::  clip_dvrp_l = 9999999.9_wp  !< dvr namelist parameter
    1686     REAL(wp) ::  clip_dvrp_n = 9999999.9_wp  !< dvr namelist parameter
    1687     REAL(wp) ::  clip_dvrp_r = 9999999.9_wp  !< dvr namelist parameter
    1688     REAL(wp) ::  clip_dvrp_s = 9999999.9_wp  !< dvr namelist parameter
    1689     REAL(wp) ::  superelevation = 1.0_wp     !< dvr namelist parameter
    1690     REAL(wp) ::  superelevation_x = 1.0_wp   !< dvr namelist parameter
    1691     REAL(wp) ::  superelevation_y = 1.0_wp   !< dvr namelist parameter
    1692     REAL(wp) ::  vc_alpha = 38.0_wp          !< dvr namelist parameter
    1693 
    1694     REAL(wp), DIMENSION(2) ::  color_interval = (/ 0.0_wp, 1.0_wp /)     !< dvr namelist parameter
    1695     REAL(wp), DIMENSION(2) ::  dvrpsize_interval = (/ 0.0_wp, 1.0_wp /)  !< dvr namelist parameter
    1696 
    1697     REAL(wp), DIMENSION(3) ::  groundplate_color = (/ 0.0_wp, 0.6_wp, 0.0_wp /)  !< dvr namelist parameter
    1698     REAL(wp), DIMENSION(3) ::  topography_color = (/ 0.8_wp, 0.7_wp, 0.6_wp /)   !< dvr namelist parameter
    1699 
    1700     REAL(wp), DIMENSION(2,10) ::  slicer_range_limits_dvrp  !< dvr namelist parameter
    1701 
    1702     REAL(wp), DIMENSION(3,10) ::  isosurface_color  !< dvr namelist parameter
    1703 
    1704     REAL(sp), DIMENSION(2,100) ::  interval_values_dvrp          !< internal dvr software variable
    1705     REAL(sp), DIMENSION(2,100) ::  interval_values_dvrp_prt      !< internal dvr software variable
    1706     REAL(sp), DIMENSION(2,100) ::  interval_h_dvrp               !< internal dvr software variable
    1707     REAL(sp), DIMENSION(2,100) ::  interval_h_dvrp_prt           !< internal dvr software variable
    1708     REAL(sp), DIMENSION(2,100) ::  interval_l_dvrp = 0.5_sp      !< internal dvr software variable
    1709     REAL(sp), DIMENSION(2,100) ::  interval_l_dvrp_prt = 0.5_sp  !< internal dvr software variable
    1710     REAL(sp), DIMENSION(2,100) ::  interval_s_dvrp = 1.0_sp      !< internal dvr software variable
    1711     REAL(sp), DIMENSION(2,100) ::  interval_s_dvrp_prt = 1.0_sp  !< internal dvr software variable
    1712     REAL(sp), DIMENSION(2,100) ::  interval_a_dvrp = 0.0_sp      !< internal dvr software variable
    1713     REAL(sp), DIMENSION(2,100) ::  interval_a_dvrp_prt = 0.0_sp  !< internal dvr software variable
    1714 
    1715     DATA  slicer_range_limits_dvrp / -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, &  !< internal dvr software variable
    1716                                      -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, &
    1717                                      -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, -1.0_wp, 1.0_wp, &
    1718                                      -1.0_wp, 1.0_wp /
    1719 
    1720     DATA  isosurface_color / 0.9_wp, 0.9_wp, 0.9_wp,  0.8_wp, 0.1_wp, 0.1_wp,  0.1_wp, 0.1_wp, 0.8_wp, &  !< internal dvr software variable
    1721                              0.1_wp, 0.8_wp, 0.1_wp,  0.6_wp, 0.1_wp, 0.1_wp,  0.1_wp, 0.1_wp, 0.6_wp, &
    1722                              0.1_wp, 0.6_wp, 0.1_wp,  0.4_wp, 0.1_wp, 0.1_wp,  0.1_wp, 0.1_wp, 0.4_wp, &
    1723                              0.1_wp, 0.4_wp, 0.1_wp /
    1724 
    1725     DATA  interval_h_dvrp / 270.0_wp, 225.0_wp, 225.0_wp, 180.0_wp, 70.0_wp, 25.0_wp, &  !< internal dvr software variable
    1726                             25.0_wp, -25.0_wp, 192 * 0.0_wp /
    1727 
    1728     DATA  interval_h_dvrp_prt / 270.0_wp, 225.0_wp, 225.0_wp, 180.0_wp, 70.0_wp, 25.0_wp, &  !< internal dvr software variable
    1729                                 25.0_wp, -25.0_wp, 192 * 0.0_wp /
    1730 
    1731     REAL(sp), DIMENSION(:), ALLOCATABLE ::  xcoor_dvrp  !< internal dvr software variable
    1732     REAL(sp), DIMENSION(:), ALLOCATABLE ::  ycoor_dvrp  !< internal dvr software variable
    1733     REAL(sp), DIMENSION(:), ALLOCATABLE ::  zcoor_dvrp  !< internal dvr software variable
    1734 
    1735     TYPE steering
    1736        CHARACTER (LEN=24) ::  name  !< internal dvr software variable
    1737        REAL(sp)           ::  min   !< internal dvr software variable
    1738        REAL(sp)           ::  max   !< internal dvr software variable
    1739        INTEGER(iwp)       ::  imin  !< internal dvr software variable
    1740        INTEGER(iwp)       ::  imax  !< internal dvr software variable
    1741     END TYPE steering
    1742 
    1743     TYPE(steering), DIMENSION(:), ALLOCATABLE ::  steering_dvrp  !< internal dvr software variable
    1744 
    1745     SAVE
    1746 
    1747  END MODULE dvrp_variables
    17481626
    17491627
Note: See TracChangeset for help on using the changeset viewer.