Changeset 232 for LMDZ.3.3/branches/rel-LF/libf/dyn3d/fxyhyper.F
- Timestamp:
- Jun 20, 2001, 3:53:15 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/dyn3d/fxyhyper.F
r2 r232 1 SUBROUTINE fxyhyper ( yzoom, grossy, dzoomy,tauy,deltay , 2 , xzoom, grossx, dzoomx,taux, 1 c 2 c $Header$ 3 c 4 SUBROUTINE fxyhyper ( yzoom, grossy, dzoomy,tauy , 5 , xzoom, grossx, dzoomx,taux , 3 6 , rlatu,yprimu,rlatv,yprimv,rlatu1, yprimu1, rlatu2, yprimu2 , 4 7 , rlonu,xprimu,rlonv,xprimv,rlonm025,xprimm025,rlonp025,xprimp025) … … 19 22 c a) le grossissement du zoom : grossy ( en y ) et grossx ( en x ) 20 23 c b) l' extension du zoom : dzoomy ( en y ) et dzoomx ( en x ) 21 c c) la raideur du zoom : tau , ici = 1.24 c c) la raideur de la transition du zoom : taux et tauy 22 25 c 23 c N.B : le produit ( grossissement * extension ) doit etre < 1. 24 c ******* 25 c En plus , il y a un autre parametre , moins important mais quand 26 c meme utile , c'est deltay , deplacement de la zone du zoom en 27 c latitude : Si on deplace de 10. degres vers le nord ( deltay 28 c = 10. dans inigeom ) . 29 c 26 c N.B : Il vaut mieux avoir : grossx * dzoomx < pi ( radians ) 27 c ****** 28 c et grossy * dzoomy < pi/2 ( radians ) 30 29 c 31 30 #include "dimensions.h" … … 40 39 REAL rlonu(iip1),xprimu(iip1),rlonv(iip1),xprimv(iip1), 41 40 , rlonm025(iip1),xprimm025(iip1), rlonp025(iip1),xprimp025(iip1) 42 REAL deltay41 REAL*8 dxmin, dxmax , dymin, dymax 43 42 44 43 c .... var. locales ..... … … 47 46 c 48 47 49 CALL fyhyp ( yzoom, grossy, dzoomy,tauy, deltay , 50 , rlatu, yprimu,rlatv,yprimv,rlatu2,yprimu2,rlatu1,yprimu1 ) 48 CALL fyhyp ( yzoom, grossy, dzoomy,tauy , 49 , rlatu, yprimu,rlatv,yprimv,rlatu2,yprimu2,rlatu1,yprimu1 , 50 , dymin,dymax ) 51 52 CALL fxhyp(xzoom,grossx,dzoomx,taux,rlonm025,xprimm025,rlonv, 53 , xprimv,rlonu,xprimu,rlonp025,xprimp025 , dxmin,dxmax ) 51 54 52 55 53 CALL fxhyp(xzoom,grossx,dzoomx,taux,rlonm025,xprimm025,rlonv, 54 , xprimv,rlonu,xprimu,rlonp025,xprimp025 ) 55 56 57 DO i = 1, iim 56 DO i = 1, iip1 58 57 IF(rlonp025(i).LT.rlonv(i)) THEN 59 PRINT *,' Attention ! rlonp025 < rlonv',i58 WRITE(6,*) ' Attention ! rlonp025 < rlonv',i 60 59 STOP 61 60 ENDIF 62 61 63 62 IF(rlonv(i).LT.rlonm025(i)) THEN 64 PRINT *,' Attention ! rlonm025 > rlonv',i63 WRITE(6,*) ' Attention ! rlonm025 > rlonv',i 65 64 STOP 66 65 ENDIF 67 66 68 67 IF(rlonp025(i).GT.rlonu(i)) THEN 69 PRINT *,' Attention ! rlonp025 > rlonu',i68 WRITE(6,*) ' Attention ! rlonp025 > rlonu',i 70 69 STOP 71 70 ENDIF 72 71 ENDDO 73 72 74 PRINT *,' *** TEST DE COHERENCE OK POUR FX **** '73 WRITE(6,*) ' *** TEST DE COHERENCE OK POUR FX **** ' 75 74 76 75 c … … 78 77 c 79 78 IF(rlatu1(j).LE.rlatu2(j)) THEN 80 PRINT *,'Attention ! rlatu1 < rlatu2 ',rlatu1(j), rlatu2(j),j79 WRITE(6,*)'Attention ! rlatu1 < rlatu2 ',rlatu1(j), rlatu2(j),j 81 80 STOP 13 82 81 ENDIF 83 82 c 84 83 IF(rlatu2(j).LE.rlatu(j+1)) THEN 85 PRINT *,'Attention ! rlatu2 < rlatup1 ',rlatu2(j),rlatu(j+1),j84 WRITE(6,*)'Attention ! rlatu2 < rlatup1 ',rlatu2(j),rlatu(j+1),j 86 85 STOP 14 87 86 ENDIF 88 87 c 89 88 IF(rlatu(j).LE.rlatu1(j)) THEN 90 PRINT *,' Attention ! rlatu < rlatu1 ',rlatu(j),rlatu1(j),j89 WRITE(6,*)' Attention ! rlatu < rlatu1 ',rlatu(j),rlatu1(j),j 91 90 STOP 15 92 91 ENDIF 93 92 c 94 93 IF(rlatv(j).LE.rlatu2(j)) THEN 95 PRINT *,' Attention ! rlatv < rlatu2 ',rlatv(j),rlatu2(j),j94 WRITE(6,*)' Attention ! rlatv < rlatu2 ',rlatv(j),rlatu2(j),j 96 95 STOP 16 97 96 ENDIF 98 97 c 99 98 IF(rlatv(j).ge.rlatu1(j)) THEN 100 PRINT *,' Attention ! rlatv > rlatu1 ',rlatv(j),rlatu1(j),j99 WRITE(6,*)' Attention ! rlatv > rlatu1 ',rlatv(j),rlatu1(j),j 101 100 STOP 17 102 101 ENDIF 103 102 c 104 103 IF(rlatv(j).ge.rlatu(j)) THEN 105 PRINT *,'Attention ! rlatv > rlatu ',rlatv(j),rlatu(j),j104 WRITE(6,*) ' Attention ! rlatv > rlatu ',rlatv(j),rlatu(j),j 106 105 STOP 18 107 106 ENDIF … … 109 108 ENDDO 110 109 c 111 PRINT *,' *** TEST DE COHERENCE OK POUR FY **** ' 112 110 WRITE(6,*) ' *** TEST DE COHERENCE OK POUR FY **** ' 113 111 c 112 WRITE(6,18) 113 WRITE(6,*) ' Latitudes ' 114 WRITE(6,*) ' *********** ' 115 WRITE(6,18) 116 WRITE(6,3) dymin, dymax 117 WRITE(6,*) ' Si cette derniere est trop lache , modifiez les par 118 ,ametres grossism , tau , dzoom pour Y et repasser ! ' 119 c 120 WRITE(6,18) 121 WRITE(6,*) ' Longitudes ' 122 WRITE(6,*) ' ************ ' 123 WRITE(6,18) 124 WRITE(6,3) dxmin, dxmax 125 WRITE(6,*) ' Si cette derniere est trop lache , modifiez les par 126 ,ametres grossism , tau , dzoom pour Y et repasser ! ' 127 WRITE(6,18) 128 c 129 3 Format(1x, ' Au centre du zoom , la longueur de la maille est', 130 , ' d environ ',f8.2 ,' degres ', 131 , ' alors que la maille en dehors de la zone du zoom est d environ 132 , ', f8.2,' degres ' ) 133 18 FORMAT(/) 114 134 115 135 RETURN
Note: See TracChangeset
for help on using the changeset viewer.