Changeset 5791 for LMDZ6/branches/contrails/libf/phy_common
- Timestamp:
- Jul 28, 2025, 7:23:15 PM (3 weeks ago)
- Location:
- LMDZ6/branches/contrails
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/contrails
- Property svn:mergeinfo changed
/LMDZ6/trunk merged: 5654-5683,5685-5690,5692-5715,5718-5721,5726-5727,5729,5744-5761,5763-5778,5780,5785-5789
- Property svn:mergeinfo changed
-
LMDZ6/branches/contrails/libf/phy_common/ioipsl_getin_p_mod.f90
r5268 r5791 6 6 !--------------------------------------------------------------------- 7 7 USE ioipsl, ONLY: getin 8 USE mod_phys_lmdz_mpi_data, ONLY : is_mpi_root9 USE mod_phys_lmdz_ omp_data, ONLY : is_omp_root8 USE strings_mod, ONLY: num2str, strStack, msg 9 USE mod_phys_lmdz_para, ONLY: is_master 10 10 USE mod_phys_lmdz_transfert_para, ONLY : bcast 11 11 !- … … 32 32 !! -- Les chaines de caracteres -- !! 33 33 34 SUBROUTINE getincs_p(VarIn,VarOut) 35 IMPLICIT NONE 36 CHARACTER(LEN=*),INTENT(IN) :: VarIn 37 CHARACTER(LEN=*),INTENT(INOUT) :: VarOut 38 39 !$OMP BARRIER 40 IF (is_mpi_root .AND. is_omp_root) THEN 41 CALL getin(VarIn,VarOut) 42 ENDIF 43 CALL bcast(VarOut) 44 END SUBROUTINE getincs_p 34 SUBROUTINE getincs_p(VarIn, VarOut, VarDef, lDisp) 35 IMPLICIT NONE 36 CHARACTER(LEN=*), INTENT(IN) :: VarIn 37 CHARACTER(LEN=*), INTENT(INOUT) :: VarOut 38 CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: VarDef 39 LOGICAL, OPTIONAL, INTENT(IN) :: lDisp 40 LOGICAL :: lD 41 !$OMP BARRIER 42 IF(is_master) THEN 43 lD = .TRUE.; IF(PRESENT(lDisp)) lD = lDisp 44 IF(PRESENT(VarDef)) VarOut = VarDef 45 CALL getin(VarIn,VarOut) 46 IF(lD) CALL msg(TRIM(VarIn)//' = '//TRIM(VarOut)) 47 END IF 48 CALL bcast(VarOut) 49 END SUBROUTINE getincs_p 45 50 46 51 !! -- Les entiers -- !! 47 52 48 SUBROUTINE getinis_p(VarIn,VarOut) 49 IMPLICIT NONE 50 CHARACTER(LEN=*),INTENT(IN) :: VarIn 51 INTEGER,INTENT(INOUT) :: VarOut 52 53 !$OMP BARRIER 54 IF (is_mpi_root .AND. is_omp_root) THEN 55 CALL getin(VarIn,VarOut) 56 ENDIF 57 CALL bcast(VarOut) 53 SUBROUTINE getinis_p(VarIn, VarOut, VarDef, lDisp) 54 IMPLICIT NONE 55 CHARACTER(LEN=*), INTENT(IN) :: VarIn 56 INTEGER, INTENT(INOUT) :: VarOut 57 INTEGER, OPTIONAL, INTENT(IN) :: VarDef 58 LOGICAL, OPTIONAL, INTENT(IN) :: lDisp 59 LOGICAL :: lD 60 !$OMP BARRIER 61 IF(is_master) THEN 62 lD = .TRUE.; IF(PRESENT(lDisp)) lD = lDisp 63 IF(PRESENT(VarDef)) VarOut = VarDef 64 CALL getin(VarIn,VarOut) 65 IF(lD) CALL msg(TRIM(VarIn)//' = '//TRIM(num2str(VarOut))) 66 END IF 67 CALL bcast(VarOut) 58 68 END SUBROUTINE getinis_p 59 69 60 SUBROUTINE getini1d_p(VarIn,VarOut) 61 IMPLICIT NONE 62 CHARACTER(LEN=*),INTENT(IN) :: VarIn 63 INTEGER,INTENT(INOUT) :: VarOut(:) 64 65 !$OMP BARRIER 66 IF (is_mpi_root .AND. is_omp_root) THEN 67 CALL getin(VarIn,VarOut) 68 ENDIF 69 CALL bcast(VarOut) 70 SUBROUTINE getini1d_p(VarIn, VarOut, VarDef, lDisp) 71 IMPLICIT NONE 72 CHARACTER(LEN=*), INTENT(IN) :: VarIn 73 INTEGER, INTENT(INOUT) :: VarOut(:) 74 INTEGER, OPTIONAL, INTENT(IN) :: VarDef 75 LOGICAL, OPTIONAL, INTENT(IN) :: lDisp 76 LOGICAL :: lD 77 !$OMP BARRIER 78 IF(is_master) THEN 79 lD = .TRUE.; IF(PRESENT(lDisp)) lD = lDisp 80 IF(PRESENT(VarDef)) VarOut = VarDef 81 CALL getin(VarIn,VarOut) 82 IF(lD) CALL msg(TRIM(VarIn)//' = '//TRIM(strStack(num2str(VarOut)))) 83 END IF 84 CALL bcast(VarOut) 70 85 END SUBROUTINE getini1d_p 71 86 72 SUBROUTINE getini2d_p(VarIn,VarOut) 73 IMPLICIT NONE 74 CHARACTER(LEN=*),INTENT(IN) :: VarIn 75 INTEGER,INTENT(INOUT) :: VarOut(:,:) 76 77 !$OMP BARRIER 78 IF (is_mpi_root .AND. is_omp_root) THEN 79 CALL getin(VarIn,VarOut) 80 ENDIF 81 CALL bcast(VarOut) 87 SUBROUTINE getini2d_p(VarIn, VarOut, VarDef) 88 IMPLICIT NONE 89 CHARACTER(LEN=*), INTENT(IN) :: VarIn 90 INTEGER, INTENT(INOUT) :: VarOut(:,:) 91 INTEGER, OPTIONAL, INTENT(IN) :: VarDef 92 !$OMP BARRIER 93 IF(is_master) THEN 94 IF(PRESENT(VarDef)) VarOut = VarDef 95 CALL getin(VarIn,VarOut) 96 END IF 97 CALL bcast(VarOut) 82 98 END SUBROUTINE getini2d_p 83 99 84 100 !! -- Les flottants -- !! 85 101 86 SUBROUTINE getinrs_p(VarIn,VarOut) 87 IMPLICIT NONE 88 CHARACTER(LEN=*),INTENT(IN) :: VarIn 89 REAL,INTENT(INOUT) :: VarOut 90 91 !$OMP BARRIER 92 IF (is_mpi_root .AND. is_omp_root) THEN 93 CALL getin(VarIn,VarOut) 94 ENDIF 95 CALL bcast(VarOut) 102 SUBROUTINE getinrs_p(VarIn, VarOut, VarDef, lDisp) 103 IMPLICIT NONE 104 CHARACTER(LEN=*), INTENT(IN) :: VarIn 105 REAL, INTENT(INOUT) :: VarOut 106 REAL, OPTIONAL, INTENT(IN) :: VarDef 107 LOGICAL, OPTIONAL, INTENT(IN) :: lDisp 108 LOGICAL :: lD 109 !$OMP BARRIER 110 IF(is_master) THEN 111 lD = .TRUE.; IF(PRESENT(lDisp)) lD = lDisp 112 IF(PRESENT(VarDef)) VarOut = VarDef 113 CALL getin(VarIn,VarOut) 114 IF(lD) CALL msg(TRIM(VarIn)//' = '//TRIM(num2str(VarOut))) 115 END IF 116 CALL bcast(VarOut) 96 117 END SUBROUTINE getinrs_p 97 118 98 SUBROUTINE getinr1d_p(VarIn,VarOut) 99 IMPLICIT NONE 100 CHARACTER(LEN=*),INTENT(IN) :: VarIn 101 REAL,INTENT(INOUT) :: VarOut(:) 102 103 !$OMP BARRIER 104 IF (is_mpi_root .AND. is_omp_root) THEN 105 CALL getin(VarIn,VarOut) 106 ENDIF 107 CALL bcast(VarOut) 119 SUBROUTINE getinr1d_p(VarIn, VarOut, VarDef, lDisp) 120 IMPLICIT NONE 121 CHARACTER(LEN=*), INTENT(IN) :: VarIn 122 REAL, INTENT(INOUT) :: VarOut(:) 123 REAL, OPTIONAL, INTENT(IN) :: VarDef 124 LOGICAL, OPTIONAL, INTENT(IN) :: lDisp 125 LOGICAL :: lD 126 !$OMP BARRIER 127 IF(is_master) THEN 128 lD = .TRUE.; IF(PRESENT(lDisp)) lD = lDisp 129 IF(PRESENT(VarDef)) VarOut = VarDef 130 CALL getin(VarIn,VarOut) 131 IF(lD) CALL msg(TRIM(VarIn)//' = '//TRIM(strStack(num2str(VarOut)))) 132 END IF 133 CALL bcast(VarOut) 108 134 END SUBROUTINE getinr1d_p 109 135 110 SUBROUTINE getinr2d_p(VarIn,VarOut) 111 IMPLICIT NONE 112 CHARACTER(LEN=*),INTENT(IN) :: VarIn 113 REAL,INTENT(INOUT) :: VarOut(:,:) 114 115 !$OMP BARRIER 116 IF (is_mpi_root .AND. is_omp_root) THEN 117 CALL getin(VarIn,VarOut) 118 ENDIF 119 CALL bcast(VarOut) 136 SUBROUTINE getinr2d_p(VarIn, VarOut, VarDef) 137 IMPLICIT NONE 138 CHARACTER(LEN=*), INTENT(IN) :: VarIn 139 REAL, INTENT(INOUT) :: VarOut(:,:) 140 REAL, OPTIONAL, INTENT(IN) :: VarDef 141 !$OMP BARRIER 142 IF(is_master) THEN 143 IF(PRESENT(VarDef)) VarOut = VarDef 144 CALL getin(VarIn,VarOut) 145 END IF 146 CALL bcast(VarOut) 120 147 END SUBROUTINE getinr2d_p 121 148 122 149 !! -- Les Booleens -- !! 123 150 124 SUBROUTINE getinls_p(VarIn,VarOut) 125 IMPLICIT NONE 126 CHARACTER(LEN=*),INTENT(IN) :: VarIn 127 LOGICAL,INTENT(INOUT) :: VarOut 128 129 !$OMP BARRIER 130 IF (is_mpi_root .AND. is_omp_root) THEN 131 CALL getin(VarIn,VarOut) 132 ENDIF 133 CALL bcast(VarOut) 151 SUBROUTINE getinls_p(VarIn, VarOut, VarDef, lDisp) 152 IMPLICIT NONE 153 CHARACTER(LEN=*), INTENT(IN) :: VarIn 154 LOGICAL, INTENT(INOUT) :: VarOut 155 LOGICAL, OPTIONAL, INTENT(IN) :: VarDef 156 LOGICAL, OPTIONAL, INTENT(IN) :: lDisp 157 LOGICAL :: lD 158 !$OMP BARRIER 159 IF(is_master) THEN 160 lD = .TRUE.; IF(PRESENT(lDisp)) lD = lDisp 161 IF(PRESENT(VarDef)) VarOut = VarDef 162 CALL getin(VarIn,VarOut) 163 IF(lD) CALL msg(TRIM(VarIn)//' = '//TRIM(num2str(VarOut))) 164 END IF 165 CALL bcast(VarOut) 134 166 END SUBROUTINE getinls_p 135 167 136 SUBROUTINE getinl1d_p(VarIn,VarOut) 137 IMPLICIT NONE 138 CHARACTER(LEN=*),INTENT(IN) :: VarIn 139 LOGICAL,INTENT(INOUT) :: VarOut(:) 140 141 !$OMP BARRIER 142 IF (is_mpi_root .AND. is_omp_root) THEN 143 CALL getin(VarIn,VarOut) 144 ENDIF 145 CALL bcast(VarOut) 168 SUBROUTINE getinl1d_p(VarIn, VarOut, VarDef, lDisp) 169 IMPLICIT NONE 170 CHARACTER(LEN=*), INTENT(IN) :: VarIn 171 LOGICAL, INTENT(INOUT) :: VarOut(:) 172 LOGICAL, OPTIONAL, INTENT(IN) :: VarDef 173 LOGICAL, OPTIONAL, INTENT(IN) :: lDisp 174 LOGICAL :: lD 175 !$OMP BARRIER 176 IF(is_master) THEN 177 lD = .TRUE.; IF(PRESENT(lDisp)) lD = lDisp 178 IF(PRESENT(VarDef)) VarOut = VarDef 179 CALL getin(VarIn,VarOut) 180 IF(lD) CALL msg(TRIM(VarIn)//' = '//TRIM(strStack(num2str(VarOut)))) 181 END IF 182 CALL bcast(VarOut) 146 183 END SUBROUTINE getinl1d_p 147 184 148 SUBROUTINE getinl2d_p(VarIn,VarOut) 149 IMPLICIT NONE 150 CHARACTER(LEN=*),INTENT(IN) :: VarIn 151 LOGICAL,INTENT(INOUT) :: VarOut(:,:) 152 153 !$OMP BARRIER 154 IF (is_mpi_root .AND. is_omp_root) THEN 155 CALL getin(VarIn,VarOut) 156 ENDIF 157 CALL bcast(VarOut) 185 SUBROUTINE getinl2d_p(VarIn, VarOut, VarDef) 186 IMPLICIT NONE 187 CHARACTER(LEN=*), INTENT(IN) :: VarIn 188 LOGICAL, INTENT(INOUT) :: VarOut(:,:) 189 LOGICAL, OPTIONAL, INTENT(IN) :: VarDef 190 !$OMP BARRIER 191 IF(is_master) THEN 192 IF(PRESENT(VarDef)) VarOut = VarDef 193 CALL getin(VarIn,VarOut) 194 END IF 195 CALL bcast(VarOut) 158 196 END SUBROUTINE getinl2d_p 159 197 !-
Note: See TracChangeset
for help on using the changeset viewer.