Changeset 1200 for trunk/AGRIF/AGRIF_FILES/modupdate.F
- Timestamp:
- 2008-09-24T15:05:20+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AGRIF/AGRIF_FILES/modupdate.F
r898 r1200 68 68 TYPE(AGRIF_PVariable) :: child ! Variable on the child grid 69 69 TYPE(AGRIF_PVariable) :: childtemp ! Temporary variable on the child 70 INTEGER :: deb,fin! Positions where interpolations70 INTEGER, DIMENSION(6) :: deb,fin ! Positions where interpolations 71 71 ! are done on the fine grid 72 72 External :: procname … … 86 86 C 87 87 C Values on the current grid used for the update 88 childtemp % var % array1 => tab 88 childtemp % var % array1 => tab 89 90 childtemp % var % lb = child % var % lb 91 childtemp % var % ub = child % var % ub 89 92 90 93 C childtemp % var % list_update => child%var%list_update … … 129 132 TYPE(AGRIF_PVariable) :: child ! Variable on the child grid 130 133 TYPE(AGRIF_PVariable) :: childtemp ! Temporary variable on the child 131 INTEGER :: deb,fin ! Positions where interpolations134 INTEGER, DIMENSION(6) :: deb,fin ! Positions where interpolations 132 135 ! are done on the fine grid 133 136 … … 151 154 C 152 155 C Values on the current grid used for the update 153 childtemp % var % array2 => tab 156 childtemp % var % array2 => tab 157 158 childtemp % var % lb = child % var % lb 159 childtemp % var % ub = child % var % ub 154 160 155 161 C childtemp % var % list_update => child%var%list_update … … 191 197 TYPE(AGRIF_PVariable) :: child ! Variable on the child grid 192 198 TYPE(AGRIF_PVariable) :: childtemp ! Temporary variable on the child 193 INTEGER :: deb,fin! Positions where interpolations199 INTEGER, DIMENSION(6) :: deb,fin ! Positions where interpolations 194 200 ! are done on the fine grid 195 201 External :: procname … … 215 221 childtemp % var % array3 => tab 216 222 223 childtemp % var % lb = child % var % lb 224 childtemp % var % ub = child % var % ub 225 226 217 227 C childtemp % var % list_update => child%var%list_update 218 228 C … … 253 263 TYPE(AGRIF_PVariable) :: child ! Variable on the child grid 254 264 TYPE(AGRIF_PVariable) :: childtemp ! Temporary variable on the child 255 INTEGER :: deb,fin! Positions where interpolations265 INTEGER, DIMENSION(6) :: deb,fin ! Positions where interpolations 256 266 ! are done on the fine grid 257 267 External :: procname … … 277 287 childtemp % var % array4 => tab 278 288 289 childtemp % var % lb = child % var % lb 290 childtemp % var % ub = child % var % ub 291 292 279 293 C childtemp % var % list_update => child%var%list_update 280 294 … … 316 330 TYPE(AGRIF_PVariable) :: child ! Variable on the child grid 317 331 TYPE(AGRIF_PVariable) :: childtemp ! Temporary variable on the child 318 INTEGER :: deb,fin! Positions where interpolations332 INTEGER, DIMENSION(6) :: deb,fin ! Positions where interpolations 319 333 ! are done on the fine grid 320 334 External :: procname … … 342 356 childtemp % var % array5 => tab 343 357 358 childtemp % var % lb = child % var % lb 359 childtemp % var % ub = child % var % ub 360 344 361 C childtemp % var % list_update => child%var%list_update 345 362 C … … 381 398 TYPE(AGRIF_PVariable) :: child ! Variable on the child grid 382 399 TYPE(AGRIF_PVariable) :: childtemp ! Temporary variable on the child 383 INTEGER :: deb,fin! Positions where interpolations400 INTEGER, DIMENSION(6) :: deb,fin ! Positions where interpolations 384 401 ! are done on the fine grid 385 402 REAL, DIMENSION( … … 404 421 C Values on the current grid used for the update 405 422 childtemp % var % array6 => tab 423 424 childtemp % var % lb = child % var % lb 425 childtemp % var % ub = child % var % ub 426 406 427 C childtemp % var % list_update => child%var%list_update 407 428 C … … 439 460 TYPE(AGRIF_PVariable) :: parent ! Variable on the parent grid 440 461 TYPE(AGRIF_PVariable) :: child ! Variable on the child grid 441 INTEGER :: deb,fin ! Positions where boundary conditions462 INTEGER, DIMENSION(6) :: deb,fin ! Positions where interpolations 442 463 ! are calculated 443 464 External :: procname … … 532 553 533 554 wholeupdate = .FALSE. 534 535 IF ((deb == -99) .AND. (deb == fin)) THEN 536 wholeupdate = .TRUE. 537 ENDIF 538 539 IF ((deb > fin)) THEN 540 wholeupdate = .TRUE. 541 ENDIF 555 556 do n=1,nbdim 557 if (loctab_child(n) /= -3) then 558 if (deb(n)>fin(n)) wholeupdate = .TRUE. 559 if ((deb(n) == -99).AND.(deb(n)==fin(n))) wholeupdate=.TRUE. 560 endif 561 enddo 542 562 543 563 IF (present(procname)) THEN … … 620 640 TYPE(AGRIF_PVariable) :: child ! Variable on the child 621 641 ! grid 622 INTEGER :: deb, fin642 INTEGER, DIMENSION(6) :: deb, fin 623 643 INTEGER :: nbdim ! Number of dimensions of 624 644 ! the grid variable … … 677 697 ENDIF 678 698 679 IF (deb > fin) THEN680 debloc = deb 681 finloc = finloc - deb 699 IF (deb(i) > fin(i)) THEN 700 debloc = deb(i) 701 finloc = finloc - deb(i) 682 702 ENDIF 683 703 … … 810 830 TYPE(AGRIF_PVariable) :: child ! Variable on the child 811 831 ! grid 812 INTEGER :: deb,fin ! Positions where 813 ! interpolations are done 832 INTEGER, DIMENSION(6) :: deb, fin 814 833 INTEGER :: nbdim ! Number of dimensions of 815 834 ! the grid variable … … 859 878 DO i = 1, nbdim 860 879 coeffraf = nint(ds_Parent(i)/ds_Child(i)) 861 indtab(i,1,1) = pttab_child(i) + (deb + 1) * coeffraf862 indtab(i,1,2) = pttab_child(i) + (fin + 1) * coeffraf880 indtab(i,1,1) = pttab_child(i) + (deb(i) + 1) * coeffraf 881 indtab(i,1,2) = pttab_child(i) + (fin(i) + 1) * coeffraf 863 882 864 883 indtab(i,2,1) = pttab_child(i) + nbtab_child(i) 865 & - (fin + 1) * coeffraf884 & - (fin(i) + 1) * coeffraf 866 885 indtab(i,2,2) = pttab_child(i) + nbtab_child(i) 867 & - (deb + 1) * coeffraf886 & - (deb(i) + 1) * coeffraf 868 887 869 888 IF (posvartab_child(i) == 1) THEN
Note: See TracChangeset
for help on using the changeset viewer.