Changeset 5086 for LMDZ6/branches/Amaury_dev/libf/dyn3d_common
- Timestamp:
- Jul 19, 2024, 7:54:50 PM (4 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/dyn3d_common
- Files:
-
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/bernoui.F
r2603 r5086 43 43 c --------------------- 44 44 c 45 DO 4ijl = 1,ngrid*nlay45 DO ijl = 1,ngrid*nlay 46 46 pbern( ijl ) = pphi( ijl ) + pecin( ijl ) 47 4 CONTINUE47 END DO 48 48 c 49 49 c----------------------------------------------------------------------- -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/convflu.F
r4593 r5086 32 32 INCLUDE "comgeom.h" 33 33 c 34 DO 5l = 1,nbniv34 DO l = 1,nbniv 35 35 c 36 DO 2ij = iip2, ip1jm - 136 DO ij = iip2, ip1jm - 1 37 37 convfl( ij + 1,l ) = xflu( ij,l ) - xflu( ij + 1,l ) + 38 38 * yflu(ij +1,l ) - yflu( ij -iim,l ) 39 2 CONTINUE39 END DO 40 40 c 41 41 c … … 45 45 c 46 46 CDIR$ IVDEP 47 DO 3ij = iip2,ip1jm,iip147 DO ij = iip2,ip1jm,iip1 48 48 convfl( ij,l ) = convfl( ij + iim,l ) 49 3 CONTINUE49 END DO 50 50 c 51 51 c ...... calcul aux poles ....... … … 53 53 convpn = SSUM( iim, yflu( 1 ,l ), 1 ) 54 54 convps = - SSUM( iim, yflu( ip1jm-iim,l ), 1 ) 55 DO 4ij = 1,iip155 DO ij = 1,iip1 56 56 convfl( ij ,l ) = convpn * aire( ij ) / apoln 57 57 convfl( ij+ ip1jm,l ) = convps * aire( ij+ ip1jm) / apols 58 4 CONTINUE58 END DO 59 59 c 60 5 CONTINUE60 END DO 61 61 RETURN 62 62 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/disvert.F90
r4257 r5086 320 320 do l = 1, llm + 1 321 321 read(unit, fmt=*) ap(l), bp(l) 322 end do322 END DO 323 323 close(unit) 324 324 call assert(ap(1) == 0., ap(llm + 1) == 0., bp(1) == 1., & -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/disvert_noterre.F
r5082 r5086 139 139 do l=1,llm 140 140 read(99,*) zsig(l) 141 end do141 END DO 142 142 CLOSE(99) 143 143 … … 146 146 sig(l) = 0.5 * ( exp(-zsig(l)/scaleheight) + 147 147 & exp(-zsig(l-1)/scaleheight) ) 148 end do148 END DO 149 149 sig(llm+1) =0 150 150 … … 264 264 c zsig(l)= zsig(l-1)-scaleheight* 265 265 c . log((aps(l) + bps(l)*ps)/(aps(l-1) + bps(l-1)*ps)) 266 c end do266 c END DO 267 267 c write(53,'(I3,50F10.5)') iz, zsig 268 c end do268 c END DO 269 269 c close(53) 270 270 c -------------------------------------------------- -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/diverg.F
r4593 r5086 41 41 c 42 42 c 43 DO 10l = 1,klevel43 DO l = 1,klevel 44 44 c 45 45 DO ij = iip2, ip1jm - 1 … … 70 70 div( ij + ip1jm, l ) = sumyps 71 71 ENDDO 72 10 CONTINUE72 END DO 73 73 c 74 74 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/diverg_gam.F
r4593 r5086 44 44 c 45 45 c 46 DO 10l = 1,klevel46 DO l = 1,klevel 47 47 c 48 48 DO ij = iip2, ip1jm - 1 … … 74 74 div( ij + ip1jm, l ) = sumyps 75 75 ENDDO 76 10 CONTINUE76 END DO 77 77 c 78 78 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/divergf.F
r4593 r5086 41 41 c 42 42 c 43 DO 10l = 1,klevel43 DO l = 1,klevel 44 44 c 45 45 DO ij = iip2, ip1jm - 1 … … 70 70 div( ij + ip1jm, l ) = sumyps 71 71 ENDDO 72 10 CONTINUE72 END DO 73 73 c 74 74 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/divergst.F
r4593 r5086 30 30 c 31 31 c 32 DO 10l = 1,klevel32 DO l = 1,klevel 33 33 c 34 DO 1ij = iip2, ip1jm - 134 DO ij = iip2, ip1jm - 1 35 35 div( ij + 1, l ) = x(ij+1,l) - x(ij,l)+ y(ij-iim,l)-y(ij+1,l) 36 1 CONTINUE36 END DO 37 37 c 38 38 c .... correction pour div( 1,j,l) ...... … … 40 40 c 41 41 CDIR$ IVDEP 42 DO 3ij = iip2,ip1jm,iip142 DO ij = iip2,ip1jm,iip1 43 43 div( ij,l ) = div( ij + iim,l ) 44 3 CONTINUE44 END DO 45 45 c 46 46 c .... calcul aux poles ..... 47 47 c 48 48 c 49 DO 5i = 1,iim49 DO i = 1,iim 50 50 aiy1(i)= y(i,l) 51 51 aiy2(i)= y(i+ip1jmi1,l) 52 5 CONTINUE52 END DO 53 53 sumypn = SSUM ( iim,aiy1,1 ) 54 54 sumyps = SSUM ( iim,aiy2,1 ) 55 DO 7i = 1,iip155 DO i = 1,iip1 56 56 div( i , l ) = - sumypn/iim 57 57 div( i + ip1jm, l ) = sumyps/iim 58 7 CONTINUE58 END DO 59 59 c 60 10 CONTINUE60 END DO 61 61 RETURN 62 62 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/divgrad.F
r2603 r5086 36 36 CALL SCOPY ( ip1jmp1*klevel,h,1,divgra,1 ) 37 37 c 38 DO 10iter = 1,lh38 DO iter = 1,lh 39 39 40 40 CALL filtreg ( divgra,jjp1,klevel,2,1,.true.,1 ) … … 45 45 CALL filtreg ( divgra,jjp1,klevel,2,1,.true.,1) 46 46 47 DO 5l = 1,klevel48 DO 4ij = 1, ip1jmp147 DO l = 1,klevel 48 DO ij = 1, ip1jmp1 49 49 divgra( ij,l ) = - cdivh * divgra( ij,l ) 50 4 CONTINUE51 5 CONTINUE50 END DO 51 END DO 52 52 c 53 10 CONTINUE53 END DO 54 54 RETURN 55 55 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/fxhyp_m.F90
r2598 r5086 191 191 do while (rlonm025(is2) < - pi .and. is2 < iim) 192 192 is2 = is2 + 1 193 end do193 END DO 194 194 195 195 if (rlonm025(is2) < - pi) then … … 202 202 do while (rlonm025(is2) > pi .and. is2 > 1) 203 203 is2 = is2 - 1 204 end do204 END DO 205 205 206 206 if (rlonm025(is2) > pi) then -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/geopot.F
r2600 r5086 47 47 c calcul de phi au niveau 1 pres du sol ..... 48 48 49 DO 1ij = 1, ngrid49 DO ij = 1, ngrid 50 50 phi( ij,1 ) = phis( ij ) + teta(ij,1) * ( pks(ij) - pk(ij,1) ) 51 1 CONTINUE51 END DO 52 52 53 53 c calcul de phi aux niveaux superieurs ....... -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/grad.F
r4593 r5086 23 23 c 24 24 c 25 DO 6l = 1,klevel25 DO l = 1,klevel 26 26 c 27 DO 2ij = 1, ip1jmp1 - 127 DO ij = 1, ip1jmp1 - 1 28 28 pgx( ij,l ) = pg( ij +1,l ) - pg( ij,l ) 29 2 CONTINUE29 END DO 30 30 c 31 31 c .... correction pour pgx(ip1,j,l) .... 32 32 c ... pgx(iip1,j,l)= pgx(1,j,l) .... 33 33 CDIR$ IVDEP 34 DO 3ij = iip1, ip1jmp1, iip134 DO ij = iip1, ip1jmp1, iip1 35 35 pgx( ij,l ) = pgx( ij -iim,l ) 36 3 CONTINUE36 END DO 37 37 c 38 DO 4ij = 1,ip1jm38 DO ij = 1,ip1jm 39 39 pgy( ij,l ) = pg( ij,l ) - pg( ij +iip1,l ) 40 4 CONTINUE40 END DO 41 41 c 42 6 CONTINUE42 END DO 43 43 RETURN 44 44 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/gradiv.F
r2603 r5086 37 37 CALL SCOPY( ip1jm*klevel, ycov,1,gdy,1 ) 38 38 c 39 DO 10iter = 1,ld39 DO iter = 1,ld 40 40 c 41 41 CALL diverg( klevel, gdx , gdy, div ) … … 43 43 CALL grad( klevel, div, gdx, gdy ) 44 44 c 45 DO 5l = 1, klevel46 DO 3ij = 1, ip1jmp145 DO l = 1, klevel 46 DO ij = 1, ip1jmp1 47 47 gdx( ij,l ) = - gdx( ij,l ) * cdivu 48 3 CONTINUE49 DO 4ij = 1, ip1jm48 END DO 49 DO ij = 1, ip1jm 50 50 gdy( ij,l ) = - gdy( ij,l ) * cdivu 51 4 CONTINUE52 5 CONTINUE51 END DO 52 END DO 53 53 c 54 10 CONTINUE54 END DO 55 55 RETURN 56 56 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/inigeom.F
r5082 r5086 224 224 c 225 225 xo1 = 0. 226 DO 10iter = 1, itmax226 DO iter = 1, itmax 227 227 x1 = xo1 228 228 f = x1+ alphax *SIN(x1-pxo) … … 232 232 IF( xdm<=eps )GO TO 11 233 233 xo1 = x1 234 10 CONTINUE234 END DO 235 235 11 CONTINUE 236 236 c … … 241 241 C 242 242 yo1 = 0. 243 DO 15iter = 1,itmay243 DO iter = 1,itmay 244 244 y1 = yo1 245 245 f = y1 + alphay* SIN(y1-pyo) … … 249 249 IF(ydm<=eps) GO TO 17 250 250 yo1 = y1 251 15 CONTINUE251 END DO 252 252 c 253 253 17 CONTINUE … … 346 346 c 347 347 c 348 DO 35j = 1, jjp1348 DO j = 1, jjp1 349 349 c 350 350 IF ( j. eq. 1 ) THEN … … 356 356 radclatm = 0.5* rad * coslatm 357 357 c 358 DO 30i = 1, iim358 DO i = 1, iim 359 359 xprp = xprimp025( i ) 360 360 xprm = xprimm025( i ) … … 365 365 cvij2 ( i,1 ) = 0.5* rad * yprm 366 366 cvij3 ( i,1 ) = cvij2(i,1) 367 30 CONTINUE367 END DO 368 368 c 369 369 DO i = 1, iim … … 387 387 radclatp = 0.5* rad * coslatp 388 388 c 389 DO 31i = 1,iim389 DO i = 1,iim 390 390 xprp = xprimp025( i ) 391 391 xprm = xprimm025( i ) … … 396 396 cvij1(i,jjp1) = 0.5 * rad* yprp 397 397 cvij4(i,jjp1) = cvij1(i,jjp1) 398 31 CONTINUE398 END DO 399 399 c 400 400 DO i = 1, iim … … 428 428 ai14 = un4rad2 * coslatp * yprp 429 429 ai23 = un4rad2 * coslatm * yprm 430 DO 32i = 1,iim430 DO i = 1,iim 431 431 xprp = xprimp025( i ) 432 432 xprm = xprimm025( i ) … … 444 444 cvij3 ( i,j ) = cvij2(i,j) 445 445 cvij4 ( i,j ) = cvij1(i,j) 446 32 CONTINUE446 END DO 447 447 c 448 448 END IF … … 463 463 aireij4 (iip1,j) = aireij4 (1,j ) 464 464 465 35 CONTINUE465 END DO 466 466 c 467 467 c .............................................................. 468 468 c 469 DO 37j = 1, jjp1470 DO 36i = 1, iim469 DO j = 1, jjp1 470 DO i = 1, iim 471 471 aire ( i,j ) = aireij1(i,j) + aireij2(i,j) + aireij3(i,j) + 472 472 * aireij4(i,j) … … 479 479 alpha2p3( i,j ) = alpha2 (i,j) + alpha3 (i,j) 480 480 alpha3p4( i,j ) = alpha3 (i,j) + alpha4 (i,j) 481 36 CONTINUE481 END DO 482 482 c 483 483 c … … 491 491 alpha2p3(iip1,j) = alpha2p3(1,j) 492 492 alpha3p4(iip1,j) = alpha3p4(1,j) 493 37 CONTINUE494 c 495 496 DO 42j = 1,jjp1497 DO 41i = 1,iim493 END DO 494 c 495 496 DO j = 1,jjp1 497 DO i = 1,iim 498 498 aireu (i,j)= aireij1(i,j) + aireij2(i,j) + aireij4(i+1,j) + 499 499 * aireij3(i+1,j) … … 502 502 unsair_gam2( i,j)= unsaire(i,j)** ( - gamdi_h ) 503 503 airesurg ( i,j)= aire(i,j)/ g 504 41 CONTINUE504 END DO 505 505 aireu (iip1,j) = aireu (1,j) 506 506 unsaire (iip1,j) = unsaire(1,j) … … 508 508 unsair_gam2(iip1,j) = unsair_gam2(1,j) 509 509 airesurg (iip1,j) = airesurg(1,j) 510 42 CONTINUE511 c 512 c 513 DO 48j = 1,jjm510 END DO 511 c 512 c 513 DO j = 1,jjm 514 514 c 515 515 DO i=1,iim … … 529 529 unsairz_gam(iip1,j) = unsairz_gam(1,j) 530 530 c 531 48 CONTINUE531 END DO 532 532 c 533 533 c -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/inter_barxy_m.F90
r5082 r5086 270 270 x0 = xxid(idat) 271 271 idat = idat + 1 272 end do272 END DO 273 273 IF (xxim(imod)<xxid(idat)) THEN 274 274 dx = xxim(imod) - x0 … … 287 287 idat = idat + 1 288 288 END IF 289 end do289 END DO 290 290 291 291 END function inter_barx … … 339 339 y0 = yjdat(jdat) 340 340 jdat = jdat + 1 341 end do341 END DO 342 342 IF (yjmod(jmod) < yjdat(jdat)) THEN 343 343 dy = yjmod(jmod) - y0 … … 357 357 jdat = jdat + 1 358 358 END IF 359 end do359 END DO 360 360 ! Le test de fin suppose que l'interface 0 est commune aux deux 361 361 ! grilles "yjdat" et "yjmod". -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/interpre.F
r2622 r5086 41 41 42 42 c CALCUL DE LA PRESSION DE SURFACE 43 c Les coefficients ap et bp sont pass és en common44 c Calcul de la pression au sol en mb optimis ée pour43 c Les coefficients ap et bp sont pass�s en common 44 c Calcul de la pression au sol en mb optimis�e pour 45 45 c la vectorialisation 46 46 … … 62 62 do i=1,iim 63 63 psppm(i,j)=smass(i,j)/aire(i,j)*g*0.01 64 end do65 end do64 END DO 65 END DO 66 66 67 67 c RECONSTRUCTION DES CHAMPS CONTRAVARIANTS 68 68 c Le programme ppm3d travaille avec les composantes 69 c de vitesse et pas les flux, on doit donc passer de l'un àl'autre70 c Dans le m ême temps, on fait le changement d'orientation du vent en v69 c de vitesse et pas les flux, on doit donc passer de l'un � l'autre 70 c Dans le m�me temps, on fait le changement d'orientation du vent en v 71 71 do l=1,llm 72 72 do j=1,jjm … … 99 99 100 100 c INVERSION DES NIVEAUX 101 c le programme ppm3d travaille avec une 3 ème coordonnée inversée par rapport101 c le programme ppm3d travaille avec une 3�me coordonn�e invers�e par rapport 102 102 c de celle du LMDZ: z=1<=>niveau max, z=llm+1<=>surface 103 c On passe donc des niveaux du LMDZ àceux de Lin103 c On passe donc des niveaux du LMDZ � ceux de Lin 104 104 105 105 do l=1,llm+1 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/invert_zoom_x_m.F90
r2598 r5086 39 39 do while (xfi < xf(it) .and. it >= 1) 40 40 it = it - 1 41 end do41 END DO 42 42 43 43 ! Calcul de Xf(xvrai(i)) -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/massdair.F
r2597 r5086 82 82 c======================================================================= 83 83 84 DO 100l = 1 , llm84 DO l = 1 , llm 85 85 c 86 86 DO ij = 1, ip1jmp1 … … 103 103 c ENDDO 104 104 105 100 CONTINUE 105 END DO 106 106 c 107 107 RETURN -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/nxgrad.F
r4593 r5086 22 22 c 23 23 c 24 DO 10l = 1,klevel24 DO l = 1,klevel 25 25 c 26 DO 1ij = 2, ip1jm26 DO ij = 2, ip1jm 27 27 y( ij,l ) = ( rot( ij,l ) - rot( ij-1,l ) ) * cvsurcuv( ij ) 28 1 CONTINUE28 END DO 29 29 c 30 30 c ..... correction pour y ( 1,j,l ) ...... … … 32 32 c .... y(1,j,l)= y(iip1,j,l) .... 33 33 CDIR$ IVDEP 34 DO 2ij = 1, ip1jm, iip134 DO ij = 1, ip1jm, iip1 35 35 y( ij,l ) = y( ij +iim,l ) 36 2 CONTINUE36 END DO 37 37 c 38 DO 4ij = iip2,ip1jm38 DO ij = iip2,ip1jm 39 39 x( ij,l ) = ( rot( ij,l ) - rot( ij -iip1,l ) ) * cusurcvu( ij ) 40 4 CONTINUE41 DO 6ij = 1,iip140 END DO 41 DO ij = 1,iip1 42 42 x( ij ,l ) = 0. 43 43 x( ij +ip1jm,l ) = 0. 44 6 CONTINUE44 END DO 45 45 c 46 10 CONTINUE46 END DO 47 47 RETURN 48 48 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/nxgrad_gam.F
r4593 r5086 21 21 INTEGER l,ij 22 22 c 23 DO 10l = 1,klevel23 DO l = 1,klevel 24 24 c 25 DO 1ij = 2, ip1jm25 DO ij = 2, ip1jm 26 26 y( ij,l ) = (rot( ij,l ) - rot( ij-1,l )) * cvscuvgam( ij ) 27 1 CONTINUE27 END DO 28 28 c 29 29 c ..... correction pour y ( 1,j,l ) ...... … … 31 31 c .... y(1,j,l)= y(iip1,j,l) .... 32 32 CDIR$ IVDEP 33 DO 2ij = 1, ip1jm, iip133 DO ij = 1, ip1jm, iip1 34 34 y( ij,l ) = y( ij +iim,l ) 35 2 CONTINUE35 END DO 36 36 c 37 DO 4ij = iip2,ip1jm37 DO ij = iip2,ip1jm 38 38 x( ij,l ) = (rot( ij,l ) - rot( ij -iip1,l )) * cuscvugam( ij ) 39 4 CONTINUE40 DO 6ij = 1,iip139 END DO 40 DO ij = 1,iip1 41 41 x( ij ,l ) = 0. 42 42 x( ij +ip1jm,l ) = 0. 43 6 CONTINUE43 END DO 44 44 c 45 10 CONTINUE45 END DO 46 46 RETURN 47 47 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/nxgradst.F
r4593 r5086 21 21 INTEGER l,ij 22 22 c 23 DO 10l = 1,klevel23 DO l = 1,klevel 24 24 c 25 DO 1ij = 2, ip1jm25 DO ij = 2, ip1jm 26 26 y(ij,l)=( rot(ij,l) - rot(ij-1,l)) 27 1 CONTINUE27 END DO 28 28 c 29 29 c ..... correction pour y ( 1,j,l ) ...... … … 31 31 c .... y(1,j,l)= y(iip1,j,l) .... 32 32 33 DO 2ij = 1, ip1jm, iip133 DO ij = 1, ip1jm, iip1 34 34 y( ij,l ) = y( ij +iim,l ) 35 2 CONTINUE35 END DO 36 36 c 37 DO 4ij = iip2,ip1jm37 DO ij = iip2,ip1jm 38 38 x(ij,l)= rot(ij,l)-rot(ij-iip1,l) 39 4 CONTINUE40 DO 6ij = 1,iip139 END DO 40 DO ij = 1,iip1 41 41 x( ij ,l ) = 0. 42 42 x( ij +ip1jm,l ) = 0. 43 6 CONTINUE43 END DO 44 44 c 45 10 CONTINUE45 END DO 46 46 RETURN 47 47 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/nxgrarot.F
r2603 r5086 36 36 CALL SCOPY ( ip1jm*klevel, ycov, 1, gry, 1 ) 37 37 c 38 DO 10iter = 1,lr38 DO iter = 1,lr 39 39 CALL rotat (klevel,grx, gry, rot ) 40 40 CALL filtreg( rot, jjm, klevel, 2,1, .false.,2) 41 41 CALL nxgrad (klevel,rot, grx, gry ) 42 42 c 43 DO 5l = 1, klevel44 DO 2ij = 1, ip1jm43 DO l = 1, klevel 44 DO ij = 1, ip1jm 45 45 gry( ij,l ) = - gry( ij,l ) * crot 46 2 CONTINUE47 DO 3ij = 1, ip1jmp146 END DO 47 DO ij = 1, ip1jmp1 48 48 grx( ij,l ) = - grx( ij,l ) * crot 49 3 CONTINUE50 5 CONTINUE49 END DO 50 END DO 51 51 c 52 10 CONTINUE52 END DO 53 53 RETURN 54 54 END -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/pbar.F
r4593 r5086 87 87 88 88 89 DO 1ij = 1, ip1jmp1 - 189 DO ij = 1, ip1jmp1 - 1 90 90 pbarx( ij ) = pext(ij) * alpha1p2(ij) + pext(ij+1)*alpha3p4(ij+1) 91 1 CONTINUE91 END DO 92 92 93 93 c .... correction pour pbarx( iip1,j) ..... … … 95 95 c ... pbarx(iip1,j)= pbarx(1,j) ... 96 96 CDIR$ IVDEP 97 DO 2ij = iip1, ip1jmp1, iip197 DO ij = iip1, ip1jmp1, iip1 98 98 pbarx( ij ) = pbarx( ij - iim ) 99 2 CONTINUE99 END DO 100 100 101 101 102 DO 3ij = 1,ip1jm102 DO ij = 1,ip1jm 103 103 pbary( ij ) = pext( ij ) * alpha2p3( ij ) + 104 104 * pext( ij+iip1 ) * alpha1p4( ij+iip1 ) 105 3 CONTINUE105 END DO 106 106 107 107 108 DO 5ij = 1, ip1jm - 1108 DO ij = 1, ip1jm - 1 109 109 pbarxy( ij ) = pext(ij)*alpha2(ij) + pext(ij+1)*alpha3(ij+1) + 110 110 * pext(ij+iip1)*alpha1(ij+iip1) + pext(ij+iip2)*alpha4(ij+iip2) 111 5 CONTINUE111 END DO 112 112 113 113 … … 116 116 CDIR$ IVDEP 117 117 118 DO 7ij = iip1, ip1jm, iip1118 DO ij = iip1, ip1jm, iip1 119 119 pbarxy( ij ) = pbarxy( ij - iim ) 120 7 CONTINUE120 END DO 121 121 122 122 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/prather.F
r5082 r5086 149 149 call advxp( limit,0.5*dt,pbaru,sm,s0,sx,sy,sz 150 150 . ,sxx,sxy,sxz,syy,syz,szz,1 ) 151 end do151 END DO 152 152 do l=1,llm 153 153 do i=1,iip1 … … 206 206 call advxp( limit,0.5*dt,pbaru,sm,s0,sx,sy,sz 207 207 . ,sxx,sxy,sxz,syy,syz,szz,1 ) 208 end do208 END DO 209 209 c--------------------------------------------------------- 210 210 c--------------------------------------------------------- -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/psextbar.F
r4593 r5086 89 89 90 90 91 DO 5ij = 1, ip1jm - 191 DO ij = 1, ip1jm - 1 92 92 psexbarxy( ij ) = pext(ij)*alpha2(ij) + pext(ij+1)*alpha3(ij+1) + 93 93 * pext(ij+iip1)*alpha1(ij+iip1) + pext(ij+iip2)*alpha4(ij+iip2) 94 5 CONTINUE94 END DO 95 95 96 96 … … 99 99 CDIR$ IVDEP 100 100 101 DO 7ij = iip1, ip1jm, iip1101 DO ij = iip1, ip1jm, iip1 102 102 psexbarxy( ij ) = psexbarxy( ij - iim ) 103 7 CONTINUE103 END DO 104 104 105 105 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/rotat.F
r4593 r5086 30 30 c 31 31 c 32 DO 10l = 1,klevel32 DO l = 1,klevel 33 33 c 34 34 DO ij = 1, ip1jm - 1 … … 44 44 ENDDO 45 45 c 46 10 CONTINUE46 END DO 47 47 48 48 ccc CALL filtreg( rot, jjm, klevel, 2, 2, .FALSE., 1 ) -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/rotat_nfil.F
r4593 r5086 30 30 c 31 31 c 32 DO 10l = 1,klevel32 DO l = 1,klevel 33 33 c 34 34 DO ij = 1, ip1jm - 1 … … 44 44 ENDDO 45 45 c 46 10 CONTINUE46 END DO 47 47 48 48 RETURN -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/rotatf.F
r4593 r5086 31 31 c 32 32 c 33 DO 10l = 1,klevel33 DO l = 1,klevel 34 34 c 35 35 DO ij = 1, ip1jm - 1 … … 45 45 ENDDO 46 46 c 47 10 CONTINUE47 END DO 48 48 49 49 CALL filtreg( rot, jjm, klevel, 2, 2, .FALSE., 1 ) -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/rotatst.F
r4593 r5086 24 24 c 25 25 c 26 DO 5l = 1,klevel26 DO l = 1,klevel 27 27 c 28 DO 1ij = 1, ip1jm - 128 DO ij = 1, ip1jm - 1 29 29 rot( ij,l ) = ( y( ij+1 , l ) - y( ij,l ) + 30 30 * x(ij +iip1, l ) - x( ij,l ) ) 31 1 CONTINUE31 END DO 32 32 c 33 33 c .... correction pour rot( iip1,j,l) .... … … 35 35 c .... rot(iip1,j,l)= rot(1,j,l) ... 36 36 CDIR$ IVDEP 37 DO 2ij = iip1, ip1jm, iip137 DO ij = iip1, ip1jm, iip1 38 38 rot( ij,l ) = rot( ij -iim,l ) 39 2 CONTINUE39 END DO 40 40 c 41 5 CONTINUE41 END DO 42 42 RETURN 43 43 END
Note: See TracChangeset
for help on using the changeset viewer.