Changeset 14107 for vendors/AGRIF/dev/AGRIF_FILES/modtypes.F90
- Timestamp:
- 2020-12-04T18:02:20+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendors/AGRIF/dev/AGRIF_FILES/modtypes.F90
r12420 r14107 20 20 ! 21 21 ! 22 ! 22 ! 23 23 !> Definition of data types used in AGRIF, of several variables and parameters 24 24 ! … … 109 109 real(4), dimension(:,:,:,:,:,:), allocatable :: sarray6 110 110 !> @} 111 !> \name Arrays containing the values of the grid variables (real) 112 !> @{ 113 real, dimension(:) , pointer :: parray1 114 real, dimension(:,:) , pointer :: parray2 115 real, dimension(:,:,:) , pointer :: parray3 116 real, dimension(:,:,:,:) , pointer :: parray4 117 real, dimension(:,:,:,:,:) , pointer :: parray5 118 real, dimension(:,:,:,:,:,:), pointer :: parray6 119 !> @} 120 !> \name Arrays containing the values of the grid variables (real*8) 121 !> @{ 122 real(8), dimension(:) , pointer :: pdarray1 123 real(8), dimension(:,:) , pointer :: pdarray2 124 real(8), dimension(:,:,:) , pointer :: pdarray3 125 real(8), dimension(:,:,:,:) , pointer :: pdarray4 126 real(8), dimension(:,:,:,:,:) , pointer :: pdarray5 127 real(8), dimension(:,:,:,:,:,:), pointer :: pdarray6 128 !> @} 129 !> \name Arrays containing the values of the grid variables (real*4) 130 !> @{ 131 real(4), dimension(:) , pointer :: psarray1 132 real(4), dimension(:,:) , pointer :: psarray2 133 real(4), dimension(:,:,:) , pointer :: psarray3 134 real(4), dimension(:,:,:,:) , pointer :: psarray4 135 real(4), dimension(:,:,:,:,:) , pointer :: psarray5 136 real(4), dimension(:,:,:,:,:,:), pointer :: psarray6 137 !> @} 111 138 !> \name Arrays used to restore the values 112 139 !> @{ … … 153 180 !> \name Arrays containing the values of the grid variables (character) 154 181 !> @{ 155 character( 2400) :: carray0182 character(4000) :: carray0 156 183 character(:) , allocatable :: carrayu 157 character( 200), dimension(:) , allocatable :: carray1158 character( 200), dimension(:,:), allocatable :: carray2184 character(400), dimension(:) , allocatable :: carray1 185 character(400), dimension(:,:), allocatable :: carray2 159 186 !> @} 160 187 !--------------------------------------------------------------------------------------------------- … … 219 246 !> \name Arrays containing the values of the grid variables (logical) 220 247 !> @{ 221 logical :: larray0 248 logical :: larray0 = .FALSE. 222 249 logical, dimension(:) , allocatable :: larray1 223 250 logical, dimension(:,:) , allocatable :: larray2 … … 226 253 logical, dimension(:,:,:,:,:) , allocatable :: larray5 227 254 logical, dimension(:,:,:,:,:,:), allocatable :: larray6 228 !> @} 255 256 !> @} 257 !> \name Arrays containing the values of the grid variables (logical pointers) 258 !> @{ 259 logical, dimension(:) , pointer :: plarray1 260 logical, dimension(:,:) , pointer :: plarray2 261 logical, dimension(:,:,:) , pointer :: plarray3 262 logical, dimension(:,:,:,:) , pointer :: plarray4 263 logical, dimension(:,:,:,:,:) , pointer :: plarray5 264 logical, dimension(:,:,:,:,:,:), pointer :: plarray6 265 !> @} 266 229 267 !--------------------------------------------------------------------------------------------------- 230 268 end type Agrif_Variable_l … … 243 281 !> \name Arrays containing the values of the grid variables (integer) 244 282 !> @{ 245 integer :: iarray0 283 integer :: iarray0 = 0 246 284 integer, dimension(:) , allocatable :: iarray1 247 285 integer, dimension(:,:) , allocatable :: iarray2 … … 250 288 integer, dimension(:,:,:,:,:) , allocatable :: iarray5 251 289 integer, dimension(:,:,:,:,:,:), allocatable :: iarray6 290 291 !> @} 292 ! 293 !> \name Arrays containing the values of the grid variables (integer pointers) 294 !> @{ 295 integer, dimension(:) , pointer :: piarray1 296 integer, dimension(:,:) , pointer :: piarray2 297 integer, dimension(:,:,:) , pointer :: piarray3 298 integer, dimension(:,:,:,:) , pointer :: piarray4 299 integer, dimension(:,:,:,:,:) , pointer :: piarray5 300 integer, dimension(:,:,:,:,:,:), pointer :: piarray6 252 301 !> @} 253 302 !--------------------------------------------------------------------------------------------------- … … 274 323 logical, dimension(:), pointer :: sendtoproc2 => NULL() 275 324 logical, dimension(:), pointer :: recvfromproc1 => NULL() 276 logical, dimension(:), pointer :: recvfromproc2 => NULL() 325 logical, dimension(:), pointer :: recvfromproc2 => NULL() 277 326 #endif 327 integer :: nb_chunks 328 integer, dimension(:,:,:,:), allocatable :: parentarray_chunk 329 integer, dimension(:,:,:,:), allocatable :: parentarray_chunk_decal 330 integer, dimension(:,:),allocatable :: decal_chunks 331 logical, dimension(:),allocatable :: correction_required 332 logical, dimension(:),allocatable :: member_chuncks 278 333 !--------------------------------------------------------------------------------------------------- 279 334 end type Agrif_Interp_Loc … … 345 400 integer, parameter :: Agrif_Update_Average = 2 !< average 346 401 integer, parameter :: Agrif_Update_Full_Weighting = 3 !< full-weighting 402 integer, parameter :: Agrif_Update_Max = 4 !< Max 347 403 !> @} 348 404 !> \name Raffinement grid switches … … 375 431 real, dimension(:,:,:,:,:,:), allocatable :: parray6 376 432 ! 377 logical :: agrif_debug = .false. ! may be activaded in users subroutine for debugging purposes 433 logical :: agrif_debug = .false. ! may be activaded in users subroutine for debugging purposes 434 logical :: agrif_debug_interp = .false. ! may be activaded in users subroutine for debugging interpolations 435 logical :: agrif_debug_update = .false. ! may be activaded in users subroutine for debugging updates 378 436 379 437 ! If a grand mother grid is present … … 381 439 integer, dimension(3) :: coarse_spaceref = (/1,1,1/) 382 440 integer, dimension(3) :: coarse_timeref = (/1,1,1/) 441 442 443 ! External mapping procedure 444 Procedure(mapping), pointer :: agrif_external_mapping => NULL() 445 abstract interface 446 subroutine mapping(ndim,ptx,pty,bounds,bounds_chunks,correction_required,nb_chunks) 447 integer :: ndim, ptx, pty 448 integer,dimension(ndim,2,2) :: bounds 449 integer,dimension(:,:,:,:),allocatable :: bounds_chunks 450 logical,dimension(:),allocatable :: correction_required 451 integer :: nb_chunks 452 end subroutine mapping 453 end interface 454 455 Procedure(linear_interp), pointer :: agrif_external_linear_interp => NULL() 456 abstract interface 457 real function linear_interp(x1,x2,coeff) 458 real :: x1, x2, coeff 459 end function linear_interp 460 end interface 383 461 ! 384 462 contains
Note: See TracChangeset
for help on using the changeset viewer.