Changeset 14622
- Timestamp:
- 2021-03-21T19:36:08+01:00 (4 years ago)
- Location:
- vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modarrays.F90
r14107 r14622 195 195 196 196 if (present(pvariable)) then 197 lower=-1 198 upper=-1 197 199 if (variable%root_var%interptab(index) == 'N') then 198 200 lower = pvariable%lb(index) 199 201 upper = pvariable%ub(index) 202 else 203 lower = variable % lb(index) 204 upper = variable % ub(index) 200 205 endif 201 206 else … … 703 708 integer, dimension(6), intent(out) :: lb_child !< Lower bound on the child grid 704 709 integer, dimension(6), intent(out) :: lb_parent !< Lower bound on the parent grid 705 real , dimension(6), intent(out):: s_child !< Child grid position (s_root = 0)706 real , dimension(6), intent(out):: s_parent !< Parent grid position (s_root = 0)707 real , dimension(6), intent(out):: ds_child !< Child grid dx (ds_root = 1)708 real , dimension(6), intent(out):: ds_parent !< Parent grid dx (ds_root = 1)710 real(kind=8), dimension(6), intent(out) :: s_child !< Child grid position (s_root = 0) 711 real(kind=8), dimension(6), intent(out) :: s_parent !< Parent grid position (s_root = 0) 712 real(kind=8), dimension(6), intent(out) :: ds_child !< Child grid dx (ds_root = 1) 713 real(kind=8), dimension(6), intent(out) :: ds_parent !< Parent grid dx (ds_root = 1) 709 714 integer, intent(out) :: nbdim !< Number of dimensions 710 715 logical, intent(in) :: interp !< .true. if preprocess for interpolation, \n … … 739 744 ds_parent(n) = Agrif_Parent_Gr % Agrif_dx(1) 740 745 ! Take into account potential difference of first points 741 s_parent(n) = s_parent(n) + (lb_parent(n)-lb_child(n))*ds_parent(n)746 ! s_parent(n) = s_parent(n) + (lb_parent(n)-lb_child(n))*ds_parent(n) 742 747 ! 743 748 if ( root_var % posvar(n) == 1 ) then … … 745 750 else 746 751 ub_child(n) = lb_child(n) + Agrif_Child_Gr % nb(1) - 1 747 s_child(n) = s_child(n) + 0.5 *ds_child(n)748 s_parent(n) = s_parent(n) + 0.5 *ds_parent(n)752 s_child(n) = s_child(n) + 0.5d0*ds_child(n) 753 s_parent(n) = s_parent(n) + 0.5d0*ds_parent(n) 749 754 endif 750 755 ! … … 759 764 ds_parent(n) = Agrif_Parent_Gr % Agrif_dx(2) 760 765 ! Take into account potential difference of first points 761 s_parent(n) = s_parent(n) + (lb_parent(n)-lb_child(n))*ds_parent(n)766 ! s_parent(n) = s_parent(n) + (lb_parent(n)-lb_child(n))*ds_parent(n) 762 767 ! 763 768 if (root_var % posvar(n)==1) then … … 765 770 else 766 771 ub_child(n) = lb_child(n) + Agrif_Child_Gr % nb(2) - 1 767 s_child(n) = s_child(n) + 0.5 *ds_child(n)768 s_parent(n) = s_parent(n) + 0.5 *ds_parent(n)772 s_child(n) = s_child(n) + 0.5d0*ds_child(n) 773 s_parent(n) = s_parent(n) + 0.5d0*ds_parent(n) 769 774 endif 770 775 ! … … 779 784 ds_parent(n) = Agrif_Parent_Gr % Agrif_dx(3) 780 785 ! Take into account potential difference of first points 781 s_parent(n) = s_parent(n) + (lb_parent(n)-lb_child(n))*ds_parent(n)786 ! s_parent(n) = s_parent(n) + (lb_parent(n)-lb_child(n))*ds_parent(n) 782 787 ! 783 788 if (root_var % posvar(n)==1) then … … 805 810 ! No interpolation but only a copy of the values of the grid variable 806 811 lb_parent(n) = lb_child(n) 807 s_child(n) = 0. 808 s_parent(n) = 0. 809 ds_child(n) = 1. 810 ds_parent(n) = 1. 812 s_child(n) = 0.d0 813 s_parent(n) = 0.d0 814 ds_child(n) = 1.d0 815 ds_parent(n) = 1.d0 811 816 ! 812 817 end select -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modbc.F90
r14107 r14622 61 61 integer, dimension(6) :: loctab_child ! Indicates if the child grid has a common border 62 62 ! with the root grid 63 real , dimension(6) :: s_child, s_parent ! Positions of the parent and child grids64 real , dimension(6) :: ds_child, ds_parent ! Space steps of the parent and child grids63 real(kind=8), dimension(6) :: s_child, s_parent ! Positions of the parent and child grids 64 real(kind=8), dimension(6) :: ds_child, ds_parent ! Space steps of the parent and child grids 65 65 ! 66 66 call PreProcessToInterpOrUpdate( parent, child, & … … 145 145 INTEGER, DIMENSION(nbdim) :: posvartab_Child !< Position of the grid variable (1 or 2) 146 146 INTEGER, DIMENSION(nbdim) :: loctab_Child !< Indicates if the child grid has a common border with the root grid 147 REAL , DIMENSION(nbdim) :: s_Child, s_Parent !< Positions of the parent and child grids148 REAL , DIMENSION(nbdim) :: ds_Child, ds_Parent !< Space steps of the parent and child grids147 REAL(kind=8) , DIMENSION(nbdim) :: s_Child, s_Parent !< Positions of the parent and child grids 148 REAL(kind=8) , DIMENSION(nbdim) :: ds_Child, ds_Parent !< Space steps of the parent and child grids 149 149 INTEGER :: nbdim !< Number of dimensions of the grid variable 150 150 procedure() :: procname !< Data recovery procedure -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modbcfunction.F90
r14107 r14622 30 30 use Agrif_Update 31 31 use Agrif_Save 32 use Agrif_Arrays 32 33 ! 33 34 implicit none … … 431 432 end subroutine Agrif_Bc_variable 432 433 !=================================================================================================== 434 !=================================================================================================== 435 ! subroutine Agrif_Find_Nearest : find nearest point on the parent grid 436 !--------------------------------------------------------------------------------------------------- 437 subroutine Agrif_Find_Nearest ( tabvarsindic, fineloc, parentloc ) 438 !--------------------------------------------------------------------------------------------------- 439 integer, intent(in) :: tabvarsindic !< indice of the variable in tabvars 440 integer,dimension(:), intent(in) :: fineloc 441 integer,dimension(:,:), intent(out) :: parentloc 442 443 ! 444 445 integer :: indic 446 447 type(Agrif_Variable), pointer :: parent_var 448 type(Agrif_Variable), pointer :: child_var 449 integer :: i 450 integer, dimension(6) :: nb_child !< Number of cells on the child grid 451 integer, dimension(6) :: ub_child !< Upper bound on the child grid 452 integer, dimension(6) :: lb_child !< Lower bound on the child grid 453 integer, dimension(6) :: lb_parent !< Lower bound on the parent grid 454 real, dimension(6) :: s_child !< Child grid position (s_root = 0) 455 real, dimension(6) :: s_parent !< Parent grid position (s_root = 0) 456 real, dimension(6) :: ds_child !< Child grid dx (ds_root = 1) 457 real, dimension(6) :: ds_parent !< Parent grid dx (ds_root = 1) 458 integer :: nbdim !< Number of dimensions 459 real, dimension(6) :: xfineloc 460 ! 461 if ( Agrif_Curgrid%level <= 0 ) return 462 ! 463 ! 464 ! 465 child_var => Agrif_Search_Variable(Agrif_Curgrid,tabvarsindic) 466 parent_var => child_var % parent_var 467 ! 468 469 call PreProcessToInterpOrUpdate( parent_var, child_var, & 470 nb_child, ub_child, & 471 lb_child, lb_parent, & 472 s_child, s_parent, & 473 ds_child, ds_parent, nbdim, interp=.true.) 474 475 do i=1,nbdim 476 xfineloc(i) = s_Child(i) + (fineloc(i) - lb_Child(i)) * ds_Child(i) 477 478 parentloc(1,i) = lb_parent(i) + agrif_int((xfineloc(i)-s_Parent(i))/ds_Parent(i)) 479 parentloc(2,i) = lb_parent(i) + agrif_ceiling((xfineloc(i)-s_Parent(i))/ds_Parent(i)) 480 enddo 481 ! 482 !--------------------------------------------------------------------------------------------------- 483 end subroutine Agrif_Find_Nearest 484 !=================================================================================================== 433 485 ! 434 486 !=================================================================================================== -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modcluster.F90
r5656 r14622 54 54 TYPE(Agrif_LRectangle), pointer :: parcours 55 55 TYPE(Agrif_Grid) , pointer :: newgrid 56 REAL 56 REAL(kind=8) :: g_eps 57 57 INTEGER :: i 58 58 ! … … 131 131 TYPE(Agrif_PGrid), pointer :: parcours 132 132 ! 133 REAL :: g_eps, newgrid_eps, eps134 REAL , DIMENSION(3) :: newmin, newmax135 REAL , DIMENSION(3) :: gmin, gmax136 REAL , DIMENSION(3) :: xmin133 REAL(kind=8) :: g_eps, newgrid_eps, eps 134 REAL(kind=8) , DIMENSION(3) :: newmin, newmax 135 REAL(kind=8) , DIMENSION(3) :: gmin, gmax 136 REAL(kind=8) , DIMENSION(3) :: xmin 137 137 INTEGER, DIMENSION(3) :: igmin, inewmin 138 138 INTEGER, DIMENSION(3) :: inewmax -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modgrids.F90
r14107 r14622 44 44 type(Agrif_Variable_i), dimension(:), allocatable :: tabvars_i !< List of integer grid variables 45 45 ! 46 real , dimension(3):: Agrif_x !< global x, y and z position47 real , dimension(3):: Agrif_dx !< global space step in the x, y and z direction46 real(kind=8), dimension(3) :: Agrif_x !< global x, y and z position 47 real(kind=8) , dimension(3) :: Agrif_dx !< global space step in the x, y and z direction 48 48 real , dimension(3) :: Agrif_dt !< global time step in the x, y and z direction 49 49 integer, dimension(3) :: nb = 1 !< number of cells in the x, y and z direction -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modinterp.F90
r14107 r14622 66 66 integer, dimension(6) :: ub_child 67 67 integer, dimension(6) :: lb_parent 68 real , dimension(6) :: s_child, s_parent69 real , dimension(6) :: ds_child, ds_parent68 real(kind=8) , dimension(6) :: s_child, s_parent 69 real(kind=8) , dimension(6) :: ds_child, ds_parent 70 70 integer, dimension(child % root_var % nbdim,2,2) :: childarray 71 71 ! … … 115 115 INTEGER, DIMENSION(nbdim), INTENT(in) :: pttab_Parent !< Index of the first point inside the domain 116 116 !< for the parent grid variable 117 REAL , DIMENSION(nbdim), INTENT(in) :: s_Child,s_Parent !< Positions of the parent and child grids118 REAL , DIMENSION(nbdim), INTENT(in) :: ds_Child,ds_Parent !< Space steps of the parent and child grids117 REAL(kind=8), DIMENSION(nbdim), INTENT(in) :: s_Child,s_Parent !< Positions of the parent and child grids 118 REAL(kind=8), DIMENSION(nbdim), INTENT(in) :: ds_Child,ds_Parent !< Space steps of the parent and child grids 119 119 TYPE(Agrif_Variable), pointer :: restore !< Indicates points where interpolation 120 120 LOGICAL, INTENT(in) :: torestore !< Indicates if the array restore is used … … 139 139 #endif 140 140 LOGICAL, DIMENSION(nbdim) :: noraftab 141 REAL , DIMENSION(nbdim) :: s_Child_temp,s_Parent_temp141 REAL(kind=8) , DIMENSION(nbdim) :: s_Child_temp,s_Parent_temp 142 142 INTEGER, DIMENSION(nbdim) :: lowerbound, upperbound, coords 143 143 INTEGER, DIMENSION(nbdim,2,2), INTENT(OUT) :: childarray … … 608 608 Agrif_CurChildgrid=>Agrif_Curgrid 609 609 call Agrif_ChildGrid_to_ParentGrid() 610 611 610 612 do i=1,nb_chunks 611 613 if (agrif_debug_interp) then 612 614 print *,'PROCNAME POUR CHUCNK ',i 613 615 endif 614 616 615 617 if (member_chuncks(i)) then 616 618 select case (nbdim) … … 1303 1305 INTEGER, intent(in) :: nbdim 1304 1306 INTEGER, DIMENSION(nbdim), intent(out) :: indmin, indmax 1305 REAL , DIMENSION(nbdim), intent(out) :: s_Parent_temp, s_child_temp1306 REAL , DIMENSION(nbdim), intent(in) :: s_Child, ds_child1307 REAL , DIMENSION(nbdim), intent(in) :: s_Parent,ds_Parent1307 REAL(kind=8), DIMENSION(nbdim), intent(out) :: s_Parent_temp, s_child_temp 1308 REAL(kind=8), DIMENSION(nbdim), intent(in) :: s_Child, ds_child 1309 REAL(kind=8), DIMENSION(nbdim), intent(in) :: s_Parent,ds_Parent 1308 1310 INTEGER, DIMENSION(nbdim), intent(in) :: pttruetab, cetruetab 1309 1311 INTEGER, DIMENSION(nbdim), intent(in) :: pttab_Child, pttab_Parent … … 1312 1314 ! 1313 1315 INTEGER :: i 1314 REAL ,DIMENSION(nbdim) :: dim_newmin, dim_newmax1316 REAL(kind=8),DIMENSION(nbdim) :: dim_newmin, dim_newmax 1315 1317 ! 1316 1318 dim_newmin = s_Child + (pttruetab - pttab_Child) * ds_Child … … 1380 1382 integer, intent(in) :: indmin, indmax 1381 1383 integer, intent(in) :: pttab_child, petab_child 1382 real , intent(in) :: s_child, s_parent1383 real , intent(in) :: ds_child, ds_parent1384 real(kind=8), intent(in) :: s_child, s_parent 1385 real(kind=8), intent(in) :: ds_child, ds_parent 1384 1386 real, dimension( & 1385 1387 indmin:indmax & … … 1415 1417 integer, dimension(2), intent(in) :: indmin, indmax 1416 1418 integer, dimension(2), intent(in) :: pttab_child, petab_child 1417 real , dimension(2), intent(in) :: s_child, s_parent1418 real , dimension(2), intent(in) :: ds_child, ds_parent1419 real(kind=8), dimension(2), intent(in) :: s_child, s_parent 1420 real(kind=8), dimension(2), intent(in) :: ds_child, ds_parent 1419 1421 real, dimension( & 1420 1422 indmin(1):indmax(1), & … … 1534 1536 integer, dimension(3), intent(in) :: indmin, indmax 1535 1537 integer, dimension(3), intent(in) :: pttab_child, petab_child 1536 real , dimension(3), intent(in) :: s_child, s_parent1537 real , dimension(3), intent(in) :: ds_child, ds_parent1538 real(kind=8), dimension(3), intent(in) :: s_child, s_parent 1539 real(kind=8), dimension(3), intent(in) :: ds_child, ds_parent 1538 1540 real, dimension( & 1539 1541 indmin(1):indmax(1), & … … 1641 1643 integer, dimension(4), intent(in) :: indmin, indmax 1642 1644 integer, dimension(4), intent(in) :: pttab_child, petab_child 1643 real , dimension(4), intent(in) :: s_child, s_parent1644 real , dimension(4), intent(in) :: ds_child, ds_parent1645 real(kind=8), dimension(4), intent(in) :: s_child, s_parent 1646 real(kind=8), dimension(4), intent(in) :: ds_child, ds_parent 1645 1647 real, dimension( & 1646 1648 indmin(1):indmax(1), & … … 1707 1709 integer, dimension(5), intent(in) :: indmin, indmax 1708 1710 integer, dimension(5), intent(in) :: pttab_child, petab_child 1709 real , dimension(5), intent(in) :: s_child, s_parent1710 real , dimension(5), intent(in) :: ds_child, ds_parent1711 real(kind=8), dimension(5), intent(in) :: s_child, s_parent 1712 real(kind=8), dimension(5), intent(in) :: ds_child, ds_parent 1711 1713 real, dimension( & 1712 1714 indmin(1):indmax(1), & … … 1780 1782 integer, dimension(6), intent(in) :: indmin, indmax 1781 1783 integer, dimension(6), intent(in) :: pttab_child, petab_child 1782 real , dimension(6), intent(in) :: s_child, s_parent1783 real , dimension(6), intent(in) :: ds_child, ds_parent1784 real(kind=8), dimension(6), intent(in) :: s_child, s_parent 1785 real(kind=8), dimension(6), intent(in) :: ds_child, ds_parent 1784 1786 real, dimension( & 1785 1787 indmin(1):indmax(1), & … … 1859 1861 REAL, DIMENSION(indmin:indmax), INTENT(IN) :: parenttab 1860 1862 REAL, DIMENSION(pttab_child:petab_child), INTENT(OUT) :: childtab 1861 REAL 1862 REAL 1863 REAL(kind=8) :: s_parent, s_child 1864 REAL(kind=8) :: ds_parent,ds_child 1863 1865 ! 1864 1866 if ( (indmin == indmax) .and. (pttab_child == petab_child) ) then -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modsauv.F90
r12420 r14622 251 251 ! 252 252 type(Agrif_PGrid), pointer :: parcours ! Pointer for the recursive procedure 253 real :: g_eps, eps, oldgrid_eps253 real(kind=8) :: g_eps, eps, oldgrid_eps 254 254 integer :: out 255 255 integer :: iii … … 332 332 ! 333 333 type(Agrif_PGrid), pointer :: parcours ! Pointer for the recursive procedure 334 real :: g_eps,eps,oldgrid_eps334 real(kind=8) :: g_eps,eps,oldgrid_eps 335 335 integer :: out 336 336 integer :: iii … … 416 416 integer, dimension(6) :: nbtabold ! Number of cells in each direction 417 417 integer, dimension(6) :: nbtabnew ! Number of cells in each direction 418 real , dimension(6) :: snew,sold419 real , dimension(6) :: dsnew,dsold420 real :: eps418 real(kind=8), dimension(6) :: snew,sold 419 real(kind=8), dimension(6) :: dsnew,dsold 420 real(kind=8) :: eps 421 421 integer :: n 422 422 ! … … 532 532 integer, dimension(nbdim), intent(in) :: pttabold 533 533 integer, dimension(nbdim), intent(in) :: petabold 534 real , dimension(nbdim), intent(in) :: snew, sold535 real , dimension(nbdim), intent(in) :: dsnew,dsold534 real(kind=8), dimension(nbdim), intent(in) :: snew, sold 535 real(kind=8), dimension(nbdim), intent(in) :: dsnew,dsold 536 536 integer, intent(in) :: nbdim 537 537 ! 538 538 integer :: i,j,k,l,m,n,i0,j0,k0,l0,m0,n0 539 539 ! 540 real , dimension(nbdim) :: dim_gmin, dim_gmax541 real , dimension(nbdim) :: dim_newmin, dim_newmax542 real , dimension(nbdim) :: dim_min540 real(kind=8), dimension(nbdim) :: dim_gmin, dim_gmax 541 real(kind=8), dimension(nbdim) :: dim_newmin, dim_newmax 542 real(kind=8), dimension(nbdim) :: dim_min 543 543 integer, dimension(nbdim) :: ind_gmin,ind_newmin, ind_newmax 544 544 ! -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modtypes.F90
r14107 r14622 380 380 real :: Agrif_Efficiency = 0.7 381 381 integer :: MaxSearch = 5 382 real , dimension(3) :: Agrif_mind382 real(kind=8), dimension(3) :: Agrif_mind 383 383 !> @} 384 384 !> \name parameters for the interpolation of the child grids … … 467 467 integer function Agrif_Ceiling ( x ) 468 468 !--------------------------------------------------------------------------------------------------- 469 real ,intent(in) :: x469 real(kind=8),intent(in) :: x 470 470 ! 471 471 integer :: i … … 487 487 integer function Agrif_Int(x) 488 488 !--------------------------------------------------------------------------------------------------- 489 real ,intent(in) :: x489 real(kind=8),intent(in) :: x 490 490 ! 491 491 integer :: i -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modupdate.F90
r14107 r14622 58 58 integer, dimension(6) :: ub_child 59 59 integer, dimension(6) :: lb_parent 60 real , dimension(6) :: s_child ! Child grid position (s_root = 0)61 real , dimension(6) :: s_parent ! Parent grid position (s_root = 0)62 real , dimension(6) :: ds_child ! Child grid dx (ds_root = 1)63 real , dimension(6) :: ds_parent ! Parent grid dx (ds_root = 1)60 real(kind=8) , dimension(6) :: s_child ! Child grid position (s_root = 0) 61 real(kind=8) , dimension(6) :: s_parent ! Parent grid position (s_root = 0) 62 real(kind=8) , dimension(6) :: ds_child ! Child grid dx (ds_root = 1) 63 real(kind=8) , dimension(6) :: ds_parent ! Parent grid dx (ds_root = 1) 64 64 logical, dimension(6) :: do_update ! Indicates if we perform update for each dimension 65 65 integer, dimension(6) :: posvar ! Position of the variable on the cell (1 or 2) … … 160 160 integer, dimension(nbdim), intent(in) :: posvar !< Position of the variable on the cell (1 or 2) 161 161 logical, dimension(nbdim), intent(in) :: do_update !< Indicates if we update for each dimension 162 real , dimension(nbdim), intent(in) :: s_child !< Positions of the child grid163 real , dimension(nbdim), intent(in) :: s_parent !< Positions of the parent grid164 real , dimension(nbdim), intent(in) :: ds_child !< Space steps of the child grid165 real , dimension(nbdim), intent(in) :: ds_parent !< Space steps of the parent grid162 real(kind=8), dimension(nbdim), intent(in) :: s_child !< Positions of the child grid 163 real(kind=8), dimension(nbdim), intent(in) :: s_parent !< Positions of the parent grid 164 real(kind=8), dimension(nbdim), intent(in) :: ds_child !< Space steps of the child grid 165 real(kind=8), dimension(nbdim), intent(in) :: ds_parent !< Space steps of the parent grid 166 166 procedure() :: procname !< Data recovery procedure 167 167 ! … … 274 274 integer, dimension(nbdim), intent(in) :: posvar !< Position of the variable on the cell (1 or 2) 275 275 logical, dimension(nbdim), intent(in) :: do_update !< Indicates if we update for each dimension 276 real , dimension(nbdim), intent(in) :: s_child !< Positions of the child grid277 real , dimension(nbdim), intent(in) :: s_parent !< Positions of the parent grid278 real , dimension(nbdim), intent(in) :: ds_child !< Space steps of the child grid279 real , dimension(nbdim), intent(in) :: ds_parent !< Space steps of the parent grid276 real(kind=8), dimension(nbdim), intent(in) :: s_child !< Positions of the child grid 277 real(kind=8), dimension(nbdim), intent(in) :: s_parent !< Positions of the parent grid 278 real(kind=8), dimension(nbdim), intent(in) :: ds_child !< Space steps of the child grid 279 real(kind=8), dimension(nbdim), intent(in) :: ds_parent !< Space steps of the parent grid 280 280 procedure() :: procname !< Data recovery procedure 281 281 integer, dimension(6) :: loctab_child ! Indicates if the child grid has a common border … … 444 444 integer, dimension(nbdim), intent(in) :: lb_parent !< Index of the first point inside the domain for the parent 445 445 !! grid variable 446 real , dimension(nbdim), intent(in) :: s_child !< Positions of the child grid447 real , dimension(nbdim), intent(in) :: s_parent !< Positions of the parent grid448 real , dimension(nbdim), intent(in) :: ds_child !< Space steps of the child grid449 real , dimension(nbdim), intent(in) :: ds_parent !< Space steps of the parent grid446 real(kind=8), dimension(nbdim), intent(in) :: s_child !< Positions of the child grid 447 real(kind=8), dimension(nbdim), intent(in) :: s_parent !< Positions of the parent grid 448 real(kind=8), dimension(nbdim), intent(in) :: ds_child !< Space steps of the child grid 449 real(kind=8), dimension(nbdim), intent(in) :: ds_parent !< Space steps of the parent grid 450 450 procedure() :: procname !< Data recovery procedure 451 451 integer, optional, intent(in) :: nb, ndir … … 459 459 integer, dimension(nbdim) :: indmin, indmax 460 460 integer, dimension(nbdim) :: indminglob, indmaxglob 461 real , dimension(nbdim) :: s_Child_temp, s_Parent_temp461 real(kind=8) , dimension(nbdim) :: s_Child_temp, s_Parent_temp 462 462 integer, dimension(nbdim) :: lowerbound,upperbound 463 463 integer, dimension(nbdim) :: pttruetabwhole, cetruetabwhole … … 1796 1796 integer, intent(in) :: nbdim 1797 1797 integer, dimension(nbdim), intent(out) :: indmin, indmax 1798 real , dimension(nbdim), intent(out) :: s_Parent_temp, s_Child_temp1799 real , dimension(nbdim), intent(in) :: s_child, ds_child1800 real , dimension(nbdim), intent(in) :: s_parent, ds_parent1798 real(kind=8), dimension(nbdim), intent(out) :: s_Parent_temp, s_Child_temp 1799 real(kind=8), dimension(nbdim), intent(in) :: s_child, ds_child 1800 real(kind=8), dimension(nbdim), intent(in) :: s_parent, ds_parent 1801 1801 integer, dimension(nbdim), intent(in) :: pttruetab, cetruetab 1802 1802 integer, dimension(nbdim), intent(in) :: lb_child, lb_parent … … 1808 1808 #endif 1809 1809 ! 1810 real ,dimension(nbdim) :: dim_newmin,dim_newmax1810 real(kind=8),dimension(nbdim) :: dim_newmin,dim_newmax 1811 1811 integer :: i 1812 1812 #if defined AGRIF_MPI 1813 real :: positionmin, positionmax1813 real(kind=8) :: positionmin, positionmax 1814 1814 integer :: imin, imax 1815 1815 integer :: coeffraf … … 1905 1905 integer, intent(in) :: indmin, indmax 1906 1906 integer, intent(in) :: lb_child, ub_child 1907 real , intent(in) :: s_child, s_parent1908 real , intent(in) :: ds_child, ds_parent1907 real(kind=8), intent(in) :: s_child, s_parent 1908 real(kind=8), intent(in) :: ds_child, ds_parent 1909 1909 real, dimension(indmin:indmax), intent(out) :: tempP 1910 1910 real, dimension(lb_child:ub_child), intent(in) :: tempC … … 1937 1937 integer, dimension(2), intent(in) :: indmin, indmax 1938 1938 integer, dimension(2), intent(in) :: lb_child, ub_child 1939 real , dimension(2), intent(in) :: s_child, s_parent1940 real , dimension(2), intent(in) :: ds_child, ds_parent1939 real(kind=8), dimension(2), intent(in) :: s_child, s_parent 1940 real(kind=8), dimension(2), intent(in) :: ds_child, ds_parent 1941 1941 real, dimension( & 1942 1942 indmin(1):indmax(1), & -
vendors/AGRIF/dev_r14608_AGRIF_domcfg/AGRIF_FILES/modupdatebasic.F90
r14107 r14622 49 49 integer, intent(in) :: np !< Length of parent array 50 50 integer, intent(in) :: nc !< Length of child array 51 real ,intent(in) :: s_parent !< Parent grid position (s_root = 0)52 real ,intent(in) :: s_child !< Child grid position (s_root = 0)53 real ,intent(in) :: ds_parent !< Parent grid dx (ds_root = 1)54 real ,intent(in) :: ds_child !< Child grid dx (ds_root = 1)51 real(kind=8), intent(in) :: s_parent !< Parent grid position (s_root = 0) 52 real(kind=8), intent(in) :: s_child !< Child grid position (s_root = 0) 53 real(kind=8), intent(in) :: ds_parent !< Parent grid dx (ds_root = 1) 54 real(kind=8), intent(in) :: ds_child !< Child grid dx (ds_root = 1) 55 55 !--------------------------------------------------------------------------------------------------- 56 56 integer :: i, locind_child_left, coeffraf … … 84 84 integer, intent(in) :: np !< Length of parent array 85 85 integer, intent(in) :: nc !< Length of child array 86 real ,intent(in) :: s_parent !< Parent grid position (s_root = 0)87 real ,intent(in) :: s_child !< Child grid position (s_root = 0)88 real ,intent(in) :: ds_parent !< Parent grid dx (ds_root = 1)89 real ,intent(in) :: ds_child !< Child grid dx (ds_root = 1)86 real(kind=8), intent(in) :: s_parent !< Parent grid position (s_root = 0) 87 real(kind=8), intent(in) :: s_child !< Child grid position (s_root = 0) 88 real(kind=8), intent(in) :: ds_parent !< Parent grid dx (ds_root = 1) 89 real(kind=8), intent(in) :: ds_child !< Child grid dx (ds_root = 1) 90 90 integer, intent(in) :: dir !< Direction 91 91 !--------------------------------------------------------------------------------------------------- … … 157 157 REAL, DIMENSION(nc), intent(in) :: y 158 158 INTEGER, intent(in) :: np,nc 159 REAL ,intent(in) :: s_parent, s_child160 REAL ,intent(in) :: ds_parent, ds_child159 REAL(kind=8), intent(in) :: s_parent, s_child 160 REAL(kind=8), intent(in) :: ds_parent, ds_child 161 161 ! 162 162 INTEGER :: i, ii, locind_child_left, coeffraf 163 REAL :: xpos, invcoeffraf 163 REAL(kind=8) :: xpos 164 REAL :: invcoeffraf 164 165 INTEGER :: nbnonnuls 165 166 INTEGER :: diffmod … … 294 295 !--------------------------------------------------------------------------------------------------- 295 296 INTEGER, intent(in) :: nc2, np, nc 296 REAL , intent(in) :: s_parent, s_child297 REAL , intent(in) :: ds_parent, ds_child297 REAL(kind=8), intent(in) :: s_parent, s_child 298 REAL(kind=8), intent(in) :: ds_parent, ds_child 298 299 INTEGER, intent(in) :: dir 299 300 ! 300 301 INTEGER, DIMENSION(:,:), ALLOCATABLE :: indchildaverage_tmp 301 302 INTEGER :: i, locind_child_left, coeffraf 302 REAL :: xpos303 REAL(kind=8) :: xpos 303 304 INTEGER :: diffmod 304 305 ! … … 346 347 REAL, DIMENSION(nc), intent(in) :: y 347 348 INTEGER, intent(in) :: np, nc 348 REAL , intent(in) :: s_parent, s_child349 REAL , intent(in) :: ds_parent, ds_child349 REAL(kind=8), intent(in) :: s_parent, s_child 350 REAL(kind=8), intent(in) :: ds_parent, ds_child 350 351 INTEGER, intent(in) :: dir 351 352 ! … … 403 404 real, dimension(nc), intent(in) :: y 404 405 integer, intent(in) :: np, nc 405 real , intent(in) :: s_parent, s_child406 real , intent(in) :: ds_parent, ds_child407 !--------------------------------------------------------------------------------------------------- 408 REAL :: xpos, xposfin406 real(kind=8), intent(in) :: s_parent, s_child 407 real(kind=8), intent(in) :: ds_parent, ds_child 408 !--------------------------------------------------------------------------------------------------- 409 REAL(kind=8) :: xpos, xposfin 409 410 INTEGER :: i, ii, diffmod 410 411 INTEGER :: it1, it2
Note: See TracChangeset
for help on using the changeset viewer.