Changeset 1933 for palm/trunk/SOURCE/pmc_general_mod.f90
- Timestamp:
- Jun 13, 2016 7:12:51 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/pmc_general_mod.f90
r1901 r1933 1 1 MODULE pmc_general 2 2 3 !------------------------------------------------------------------------------- -!3 !-------------------------------------------------------------------------------! 4 4 ! This file is part of PALM. 5 5 ! … … 16 16 ! 17 17 ! Copyright 1997-2016 Leibniz Universitaet Hannover 18 !------------------------------------------------------------------------------- -!18 !-------------------------------------------------------------------------------! 19 19 ! 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 23 ! 22 ! 23 ! 24 24 ! Former revisions: 25 25 ! ----------------- 26 26 ! $Id$ 27 27 ! 28 ! 1901 2016-05-04 15:39:38Z raasch 29 ! Code clean up. The words server/client changed to parent/child. 30 ! 28 31 ! 1900 2016-05-04 15:27:53Z raasch 29 32 ! re-formatted to match PALM style, file renamed again … … 33 36 ! 34 37 ! 1786 2016-03-08 05:49:27Z raasch 35 ! change in c lient-server data transfer: server now gets data from client36 ! instead that client put's it to the server38 ! change in child-parent data transfer: parent now gets data from child 39 ! instead of that child puts it to the parent 37 40 ! 38 41 ! 1779 2016-03-03 08:01:28Z raasch … … 90 93 INTEGER :: nrdims !< number of dimensions 91 94 INTEGER, DIMENSION(4) :: a_dim !< size of dimensions 92 TYPE(C_PTR) :: data !< pointer of data in serverspace95 TYPE(C_PTR) :: data !< pointer of data in parent space 93 96 TYPE(C_PTR), DIMENSION(2) :: po_data !< base pointers, 94 97 !< pmc_s_set_active_data_array … … 113 116 END TYPE pedef 114 117 115 TYPE, PUBLIC :: c lientdef118 TYPE, PUBLIC :: childdef 116 119 INTEGER(idp) :: totalbuffersize !< 117 120 INTEGER :: model_comm !< communicator of this model 118 INTEGER :: inter_comm !< inter communicator model and c lient119 INTEGER :: intra_comm !< intra communicator model and c lient121 INTEGER :: inter_comm !< inter communicator model and child 122 INTEGER :: intra_comm !< intra communicator model and child 120 123 INTEGER :: model_rank !< rank of this model 121 124 INTEGER :: model_npes !< number of PEs this model 122 INTEGER :: inter_npes !< number of PEs c lientmodel125 INTEGER :: inter_npes !< number of PEs child model 123 126 INTEGER :: intra_rank !< rank within intra_comm 124 INTEGER :: win_ server_client !< MPI RMA for preparing data on server AND clientside125 TYPE(pedef), DIMENSION(:), POINTER :: pes !< list of all c lientPEs126 END TYPE c lientdef127 INTEGER :: win_parent_child !< MPI RMA for preparing data on parent AND child side 128 TYPE(pedef), DIMENSION(:), POINTER :: pes !< list of all child PEs 129 END TYPE childdef 127 130 128 131 TYPE, PUBLIC :: da_namedef !< data array name definition 129 132 INTEGER :: couple_index !< unique number of array 130 CHARACTER(LEN=da_desclen) :: serverdesc !< serverarray description131 CHARACTER(LEN=da_namelen) :: nameon server !< name of array within server132 CHARACTER(LEN=da_desclen) :: c lientdesc !< clientarray description133 CHARACTER(LEN=da_namelen) :: nameonc lient !< name of array within client133 CHARACTER(LEN=da_desclen) :: parentdesc !< parent array description 134 CHARACTER(LEN=da_namelen) :: nameonparent !< name of array within parent 135 CHARACTER(LEN=da_desclen) :: childdesc !< child array description 136 CHARACTER(LEN=da_namelen) :: nameonchild !< name of array within child 134 137 END TYPE da_namedef 135 138 … … 146 149 CONTAINS 147 150 148 SUBROUTINE pmc_g_setname( myc lient, couple_index, aname )151 SUBROUTINE pmc_g_setname( mychild, couple_index, aname ) 149 152 150 153 IMPLICIT NONE … … 152 155 CHARACTER(LEN=*) :: aname !< 153 156 INTEGER, INTENT(IN) :: couple_index !< 154 TYPE(c lientdef), INTENT(INOUT) :: myclient!<157 TYPE(childdef), INTENT(INOUT) :: mychild !< 155 158 156 159 INTEGER :: i !< … … 162 165 !-- Assign array to next free index in array list. 163 166 !-- Set name of array in arraydef structure 164 DO i = 1, myc lient%inter_npes165 166 ape => myc lient%pes(i)167 DO i = 1, mychild%inter_npes 168 169 ape => mychild%pes(i) 167 170 ape%nr_arrays = ape%nr_arrays + 1 168 171 ape%array_list(ape%nr_arrays)%name = aname
Note: See TracChangeset
for help on using the changeset viewer.