Changeset 2604 for LMDZ5/trunk/libf
- Timestamp:
- Jul 26, 2016, 5:37:18 PM (8 years ago)
- Location:
- LMDZ5/trunk/libf/dynphy_lonlat
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dynphy_lonlat/calfis.F
r2601 r2604 141 141 c 142 142 REAL zrot(iip1,jjm,llm) ! AdlC May 2014 143 REAL zufi(ngridmx,llm), zvfi(ngridmx,llm), zrfi(ngridmx,llm) 143 REAL zufi(ngridmx,llm), zvfi(ngridmx,llm) 144 REAL zrfi(ngridmx,llm) ! relative wind vorticity 144 145 REAL ztfi(ngridmx,llm),zqfi(ngridmx,llm,nqtot) 146 REAL zpk(ngridmx,llm) 145 147 c 146 148 REAL pcvgu(ngridmx,llm), pcvgv(ngridmx,llm) … … 211 213 212 214 213 c 42. pression intercouches :215 c 42. pression intercouches et fonction d'Exner: 214 216 c 215 217 c ----------------------------------------------------------------- … … 222 224 unskap = 1./ kappa 223 225 c 224 DO l = 1, llmp1 226 DO l = 1, llm 227 zpk( 1,l ) = ppk(1,1,l) 225 228 zplev( 1,l ) = pp(1,1,l) 226 229 ig0 = 2 227 230 DO j = 2, jjm 228 231 DO i =1, iim 232 zpk( ig0,l ) = ppk(i,j,l) 229 233 zplev( ig0,l ) = pp(i,j,l) 230 234 ig0 = ig0 +1 231 235 ENDDO 232 236 ENDDO 237 zpk( ngridmx,l ) = ppk(1,jjp1,l) 233 238 zplev( ngridmx,l ) = pp(1,jjp1,l) 234 239 ENDDO 240 zplev( 1,llmp1 ) = pp(1,1,llmp1) 241 ig0 = 2 242 DO j = 2, jjm 243 DO i =1, iim 244 zplev( ig0,llmp1 ) = pp(i,j,llmp1) 245 ig0 = ig0 +1 246 ENDDO 247 ENDDO 248 zplev( ngridmx,llmp1 ) = pp(1,jjp1,llmp1) 235 249 c 236 250 c … … 471 485 & jD_cur,jH_cur_split,zdt_split, 472 486 & zplev,zplay, 473 & zp hi,zphis,487 & zpk,zphi,zphis, 474 488 & presnivs, 475 489 & zufi,zvfi,zrfi,ztfi,zqfi, -
LMDZ5/trunk/libf/dynphy_lonlat/calfis_loc.F
r2601 r2604 162 162 REAL,ALLOCATABLE,SAVE :: zufi(:,:), zvfi(:,:), zrfi(:,:) 163 163 REAL,ALLOCATABLE,SAVE :: ztfi(:,:),zqfi(:,:,:) 164 REAL,ALLOCATABLE,SAVE :: zpk(:,:) 164 165 c 165 166 REAL,ALLOCATABLE,SAVE :: pcvgu(:,:), pcvgv(:,:) … … 174 175 REAL,ALLOCATABLE,SAVE :: zplev_omp(:,:) 175 176 REAL,ALLOCATABLE,SAVE :: zplay_omp(:,:) 177 REAL,ALLOCATABLE,SAVE :: zpk_omp(:,:) 176 178 REAL,ALLOCATABLE,SAVE :: zphi_omp(:,:) 177 179 REAL,ALLOCATABLE,SAVE :: zphis_omp(:) … … 211 213 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 212 214 213 c$OMP THREADPRIVATE(zplev_omp,zplay_omp,zp hi_omp,zphis_omp,215 c$OMP THREADPRIVATE(zplev_omp,zplay_omp,zpk_omp,zphi_omp,zphis_omp, 214 216 c$OMP+ presnivs_omp,zufi_omp,zvfi_omp,ztfi_omp, 215 217 c$OMP+ zrfi_omp,zqfi_omp,zdufi_omp,zdvfi_omp, … … 275 277 ALLOCATE(zdufi2(klon+iim,llm),zdvfi2(klon+iim,llm)) 276 278 ALLOCATE(flxwfi(klon,llm)) 279 ALLOCATE(zpk(klon,llm)) 277 280 c$OMP END MASTER 278 281 c$OMP BARRIER … … 328 331 ENDDO 329 332 c$OMP END DO NOWAIT 333 334 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 335 DO l=1,llm 336 do ig0=1,klon 337 i=index_i(ig0) 338 j=index_j(ig0) 339 zpk(ig0,l)=ppk(i,j,l) 340 enddo 341 ENDDO 342 c$OMP END DO NOWAIT 343 330 344 c 331 345 c … … 571 585 allocate(zplev_omp(klon,llm+1)) 572 586 allocate(zplay_omp(klon,llm)) 587 allocate(zpk_omp(klon,llm)) 573 588 allocate(zphi_omp(klon,llm)) 574 589 allocate(zphis_omp(klon)) … … 608 623 enddo 609 624 625 do l=1,llm 626 do i=1,klon 627 zpk_omp(i,l)=zpk(offset+i,l) 628 enddo 629 enddo 630 610 631 do l=1,llm 611 632 do i=1,klon … … 714 735 & jD_cur,jH_cur_split,zdt_split, 715 736 & zplev_omp,zplay_omp, 716 & zp hi_omp,zphis_omp,737 & zpk_omp,zphi_omp,zphis_omp, 717 738 & presnivs_omp, 718 739 & zufi_omp,zvfi_omp,zrfi_omp,ztfi_omp,zqfi_omp, -
LMDZ5/trunk/libf/dynphy_lonlat/calfis_p.F
r2601 r2604 162 162 REAL,ALLOCATABLE,SAVE :: zufi(:,:), zvfi(:,:), zrfi(:,:) 163 163 REAL,ALLOCATABLE,SAVE :: ztfi(:,:),zqfi(:,:,:) 164 REAL,ALLOCATABLE,SAVE :: zpk(:,:) 164 165 c 165 166 REAL,ALLOCATABLE,SAVE :: pcvgu(:,:), pcvgv(:,:) … … 174 175 REAL,ALLOCATABLE,SAVE :: zplev_omp(:,:) 175 176 REAL,ALLOCATABLE,SAVE :: zplay_omp(:,:) 177 REAL,ALLOCATABLE,SAVE :: zpk_omp(:,:) 176 178 REAL,ALLOCATABLE,SAVE :: zphi_omp(:,:) 177 179 REAL,ALLOCATABLE,SAVE :: zphis_omp(:) … … 211 213 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 212 214 213 c$OMP THREADPRIVATE(zplev_omp,zplay_omp,zp hi_omp,zphis_omp,215 c$OMP THREADPRIVATE(zplev_omp,zplay_omp,zpk_omp,zphi_omp,zphis_omp, 214 216 c$OMP+ presnivs_omp,zufi_omp,zvfi_omp,ztfi_omp, 215 217 c$OMP+ zrfi_omp,zqfi_omp,zdufi_omp,zdvfi_omp, … … 275 277 ALLOCATE(zdufi2(klon+iim,llm),zdvfi2(klon+iim,llm)) 276 278 ALLOCATE(flxwfi(klon,llm)) 279 ALLOCATE(zpk(klon,llm)) 277 280 c$OMP END MASTER 278 281 c$OMP BARRIER … … 328 331 ENDDO 329 332 c$OMP END DO NOWAIT 333 334 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 335 DO l=1,llm 336 do ig0=1,klon 337 i=index_i(ig0) 338 j=index_j(ig0) 339 zpk(ig0,l)=ppk(i,j,l) 340 enddo 341 ENDDO 342 c$OMP END DO NOWAIT 343 330 344 c 331 345 c … … 537 551 allocate(zplev_omp(klon,llm+1)) 538 552 allocate(zplay_omp(klon,llm)) 553 allocate(zpk_omp(klon,llm)) 539 554 allocate(zphi_omp(klon,llm)) 540 555 allocate(zphis_omp(klon)) … … 574 589 enddo 575 590 591 do l=1,llm 592 do i=1,klon 593 zpk_omp(i,l)=zpk(offset+i,l) 594 enddo 595 enddo 596 576 597 do l=1,llm 577 598 do i=1,klon … … 680 701 & jD_cur,jH_cur_split,zdt_split, 681 702 & zplev_omp,zplay_omp, 682 & zp hi_omp,zphis_omp,703 & zpk_omp,zphi_omp,zphis_omp, 683 704 & presnivs_omp, 684 705 & zufi_omp,zvfi_omp,zrfi_omp,ztfi_omp,zqfi_omp, -
LMDZ5/trunk/libf/dynphy_lonlat/phylmd/callphysiq_mod.F90
r2422 r2604 12 12 jD_cur,jH_cur_split,zdt_split, & 13 13 zplev_omp,zplay_omp, & 14 zp hi_omp,zphis_omp,&14 zpk_omp,zphi_omp,zphis_omp, & 15 15 presnivs_omp, & 16 16 zufi_omp,zvfi_omp,zrfi_omp,ztfi_omp,zqfi_omp, & … … 35 35 REAL,INTENT(IN) :: zplev_omp(klon,llm+1) ! interlayer pressure (Pa) 36 36 REAL,INTENT(IN) :: zplay_omp(klon,llm) ! mid-layer pressure (Pa) 37 REAL,INTENT(IN) :: zpk_omp(klon,llm) ! Exner function 37 38 REAL,INTENT(IN) :: zphi_omp(klon,llm) ! geopotential at midlayer 38 39 REAL,INTENT(IN) :: zphis_omp(klon) ! surface geopotential
Note: See TracChangeset
for help on using the changeset viewer.