Changeset 3630 for trunk/LMDZ.COMMON/libf/dyn3d
- Timestamp:
- Feb 19, 2025, 2:26:21 PM (5 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/dyn3d/interp_horiz.F
r1 r3630 3 3 c 4 4 subroutine interp_horiz (varo,varn,imo,jmo,imn,jmn,lm, 5 & rlonuo,rlatvo,rlonun,rlatvn) 5 & rlonuo,rlatvo,rlonun,rlatvn) 6 6 7 7 c=========================================================== … … 14 14 c=========================================================== 15 15 16 IMPLICIT NONE 16 IMPLICIT NONE 17 17 18 18 c Declarations: … … 21 21 c ARGUMENTS 22 22 c """"""""" 23 23 24 24 integer imo, jmo ! dimensions ancienne grille (input) 25 25 integer imn,jmn ! dimensions nouvelle grille (input) … … 27 27 real rlonuo(imo+1) ! Latitude et 28 28 real rlatvo(jmo) ! longitude des 29 real rlonun(imn+1) ! bord des 29 real rlonun(imn+1) ! bord des 30 30 real rlatvn(jmn) ! cases "scalaires" (input) 31 31 … … 42 42 c Info sur les ktotal intersection entre les cases new/old grille 43 43 integer kllm, k, ktotal 44 parameter (kllm = 400*200*10)44 parameter (kllm = 1400*200*10) 45 45 integer iik(kllm), jjk(kllm),jk(kllm),ik(kllm) 46 46 real intersec(kllm) … … 53 53 data aire_ok /.true./ 54 54 55 55 56 56 57 57 … … 75 75 end do 76 76 end do 77 end do 78 77 end do 78 79 79 c Interpolation horizontale 80 80 c ------------------------- … … 83 83 c 84 84 PRINT *, 'ktotal 1 = ', ktotal 85 85 86 86 do k=1,ktotal 87 87 do l=1,lm 88 varn(iik(k),jjk(k),l) = varn(iik(k),jjk(k),l) 88 varn(iik(k),jjk(k),l) = varn(iik(k),jjk(k),l) 89 89 & + varo(ik(k), jk(k),l)*intersec(k)/airen(iik(k),jjk(k)) 90 90 end do … … 99 99 totn = totn + varn(ii,1,l) 100 100 tots = tots + varn (ii,jmn+1,l) 101 end do 101 end do 102 102 do ii =1, imn+1 103 103 varn(ii,1,l) = totn/REAL(imn+1) 104 104 varn(ii,jmn+1,l) = tots/REAL(imn+1) 105 end do 105 end do 106 106 end do 107 107 108 108 109 109 c--------------------------------------------------------------- 110 c TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 110 c TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 111 111 !! if (.not.(firsttest)) goto 99 112 112 !! firsttest = .false. … … 116 116 !! airetest(ii,jj) =0. 117 117 !! end do 118 !! end do 118 !! end do 119 119 !! PRINT *, 'ktotal = ', ktotal 120 120 !! PRINT *, 'jmn+1 =', jmn+1, 'imn+1', imn+1 121 !! 121 !! 122 122 !! do k=1,ktotal 123 !! airetest(iik(k),jjk(k))= airetest(iik(k),jjk(k)) +intersec(k) 123 !! airetest(iik(k),jjk(k))= airetest(iik(k),jjk(k)) +intersec(k) 124 124 !! end DO 125 !! 126 !! 125 !! 126 !! 127 127 !! PRINT *, 'fin boucle' 128 128 !! do jj =1 , jmn+1
Note: See TracChangeset
for help on using the changeset viewer.