Changeset 1530 for trunk/LMDZ.TITAN/libf/phytitan/ballon.F
- Timestamp:
- Apr 6, 2016, 8:51:34 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.TITAN/libf/phytitan/ballon.F
r102 r1530 3 3 4 4 use dimphy 5 use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat 5 6 implicit none 6 7 … … 94 95 c====================================================================== 95 96 96 #include "dimensions.h"97 97 #include "YOMCST.h" 98 98 c … … 110 110 INTEGER jj,ii,ll 111 111 112 REAL zlon(iim+1),zlat(jjm+1) 113 save zlon,zlat 112 REAL,SAVE,ALLOCATABLE :: zlon(:),zlat(:) 114 113 115 114 REAL time … … 141 140 print*,"BALLOONS ACTIVATED" 142 141 142 allocate(zlon(nbp_lon+1)) 143 allocate(zlat(nbp_lat)) 144 143 145 C Latitudes: 144 146 zlat(1)=plat(1)*RPI/180. 145 do j = 2, jjm146 k=(j-2)* iim+2147 do j = 2,nbp_lat-1 148 k=(j-2)*nbp_lon+2 147 149 zlat(j)=plat(k)*RPI/180. 148 150 enddo 149 zlat( jjm+1)=plat(klon)*RPI/180.151 zlat(nbp_lat)=plat(klon)*RPI/180. 150 152 151 153 C Longitudes: 152 do i = 1, iim154 do i = 1,nbp_lon 153 155 k=i+1 154 156 zlon(i)=plon(k)*RPI/180. 155 157 enddo 156 zlon( iim+1)=zlon(1)+2.*RPI158 zlon(nbp_lon+1)=zlon(1)+2.*RPI 157 159 158 160 c verif init lat de 90 à -90, lon de -180 à 180 … … 256 258 257 259 use dimphy 260 use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat 258 261 implicit none 259 262 … … 283 286 c====================================================================== 284 287 285 #include "dimensions.h"286 288 #include "YOMCST.h" 287 289 c … … 289 291 c 290 292 real map_u(klon),map_v(klon),map_a(klon) 291 real latit( jjm+1),longit(iim)293 real latit(nbp_lat),longit(nbp_lon) 292 294 real phi,lam,ubal,vbal,abal 293 295 c … … 296 298 INTEGER i,j,k 297 299 INTEGER jj,ii 298 REAL ujj( iim+1),vjj(iim+1),ajj(iim+1)300 REAL ujj(nbp_lon+1),vjj(nbp_lon+1),ajj(nbp_lon+1) 299 301 REAL factlat,factlon 300 302 … … 302 304 c------------------------------------------------- 303 305 jj=1 ! POLE NORD 304 do j=2, jjm306 do j=2,nbp_lat-1 305 307 if (phi.lt.latit(j)) jj=j 306 308 enddo … … 309 311 c pole nord 310 312 if (jj.eq.1) then 311 do i=1, iim313 do i=1,nbp_lon 312 314 ujj(i) = map_u(i+1)*factlat + map_u(1)*(1-factlat) 313 315 vjj(i) = map_v(i+1)*factlat + map_v(1)*(1-factlat) … … 315 317 enddo 316 318 c pole sud 317 elseif (jj.eq. jjm) then318 do i=1, iim319 k = (jj-2)* iim+1+i319 elseif (jj.eq.nbp_lat-1) then 320 do i=1,nbp_lon 321 k = (jj-2)*nbp_lon+1+i 320 322 ujj(i) = map_u(klon)*factlat + map_u(k)*(1-factlat) 321 323 vjj(i) = map_v(klon)*factlat + map_v(k)*(1-factlat) … … 324 326 c autres latitudes 325 327 else 326 do i=1, iim327 k = (jj-2)* iim+1+i328 ujj(i) = map_u(k+ iim)*factlat + map_u(k)*(1-factlat)329 vjj(i) = map_v(k+ iim)*factlat + map_v(k)*(1-factlat)330 ajj(i) = map_a(k+ iim)*factlat + map_a(k)*(1-factlat)328 do i=1,nbp_lon 329 k = (jj-2)*nbp_lon+1+i 330 ujj(i) = map_u(k+nbp_lon)*factlat + map_u(k)*(1-factlat) 331 vjj(i) = map_v(k+nbp_lon)*factlat + map_v(k)*(1-factlat) 332 ajj(i) = map_a(k+nbp_lon)*factlat + map_a(k)*(1-factlat) 331 333 enddo 332 334 endif 333 ujj( iim+1)=ujj(1)334 vjj( iim+1)=vjj(1)335 ajj( iim+1)=ajj(1)335 ujj(nbp_lon+1)=ujj(1) 336 vjj(nbp_lon+1)=vjj(1) 337 ajj(nbp_lon+1)=ajj(1) 336 338 337 339 c Interpolation in longitudes 338 340 c------------------------------------------------- 339 341 ii=1 ! lon=-180 340 do i=2, iim342 do i=2,nbp_lon 341 343 if (lam.gt.longit(i)) ii=i 342 344 enddo … … 370 372 c====================================================================== 371 373 372 #include "dimensions.h"373 374 #include "YOMCST.h" 374 375 c
Note: See TracChangeset
for help on using the changeset viewer.