- Timestamp:
- Aug 2, 2024, 2:12:03 PM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/ecrad/driver/ifs_blocking.F90
r4773 r5158 329 329 !$OMP PARALLEL DO SCHEDULE(RUNTIME)& 330 330 !$OMP&PRIVATE(IB,IFLD) 331 doib=1,ngpblks332 doifld=1,ifs_config%ifldstot331 DO ib=1,ngpblks 332 DO ifld=1,ifs_config%ifldstot 333 333 zrgp(:,ifld,ib) = 0._jprb 334 334 enddo … … 351 351 !$OMP PARALLEL DO SCHEDULE(RUNTIME)& 352 352 !$OMP&PRIVATE(JRL,IBEG,IEND,IL,IB,JAER,JOFF,JLEV,JALB) 353 dojrl=1,ncol,nproma353 DO jrl=1,ncol,nproma 354 354 355 355 ibeg=jrl … … 363 363 zrgp(1:il,ifs_config%iamu0,ib) = single_level%cos_sza(ibeg:iend) ! cosine of solar zenith ang (mu0) 364 364 365 dojemiss=1,yderad%nlwemiss365 DO jemiss=1,yderad%nlwemiss 366 366 zrgp(1:il,ifs_config%iemiss+jemiss-1,ib) = single_level%lw_emissivity(ibeg:iend,jemiss) 367 367 enddo … … 378 378 ! zrgp(1:il,islon,ib) = ??? 379 379 380 dojalb=1,yderad%nsw380 DO jalb=1,yderad%nsw 381 381 zrgp(1:il,ifs_config%iald+jalb-1,ib) = single_level%sw_albedo(ibeg:iend,jalb) 382 382 enddo 383 383 384 384 if (allocated(single_level%sw_albedo_direct)) then 385 dojalb=1,yderad%nsw385 DO jalb=1,yderad%nsw 386 386 zrgp(1:il,ifs_config%ialp+jalb-1,ib) = single_level%sw_albedo_direct(ibeg:iend,jalb) 387 387 end do 388 388 else 389 dojalb=1,yderad%nsw389 DO jalb=1,yderad%nsw 390 390 zrgp(1:il,ifs_config%ialp+jalb-1,ib) = single_level%sw_albedo(ibeg:iend,jalb) 391 391 end do 392 392 end if 393 393 394 dojlev=1,nlev394 DO jlev=1,nlev 395 395 zrgp(1:il,ifs_config%iti+jlev-1,ib) = temperature_fl(ibeg:iend,jlev) ! full level temperature 396 396 zrgp(1:il,ifs_config%ipr+jlev-1,ib) = pressure_fl(ibeg:iend,jlev) ! full level pressure … … 398 398 enddo 399 399 400 dojlev=1,nlev400 DO jlev=1,nlev 401 401 zrgp(1:il,ifs_config%iwv+jlev-1,ib) = gas%mixing_ratio(ibeg:iend,jlev,IH2O) ! this is already in MassMixingRatio units 402 402 if (rad_config%do_clouds) then … … 421 421 if (yderad%naermacc == 1) then 422 422 joff=ifs_config%iaero 423 dojaer=1,rad_config%n_aerosol_types424 dojlev=1,nlev423 DO jaer=1,rad_config%n_aerosol_types 424 DO jlev=1,nlev 425 425 zrgp(1:il,joff,ib) = aerosol%mixing_ratio(ibeg:iend,jlev,jaer) 426 426 joff=joff+1 … … 429 429 endif 430 430 431 dojlev=1,nlev+1431 DO jlev=1,nlev+1 432 432 ! zrgp(1:il,ihpr+jlev-1,ib) = ??? 433 433 zrgp(1:il,ifs_config%iaprs+jlev-1,ib) = thermodynamics%pressure_hl(ibeg:iend,jlev) … … 453 453 ! local workaround variables for standalone input files 454 454 if (rad_config%do_clouds) then 455 dojlev=1,nlev455 DO jlev=1,nlev 456 456 ! missing full-level temperature and pressure as well as land-sea-mask 457 457 zrgp(1:il,ifs_config%ire_liq+jlev-1,ib) = cloud%re_liq(ibeg:iend,jlev) 458 458 zrgp(1:il,ifs_config%ire_ice+jlev-1,ib) = cloud%re_ice(ibeg:iend,jlev) 459 459 enddo 460 dojlev=1,nlev-1460 DO jlev=1,nlev-1 461 461 ! for the love of it, I can't figure this one out. Probably to do with 462 462 ! my crude approach of setting PGEMU? … … 465 465 if(present(iseed)) iseed(1:il,ib) = single_level%iseed(ibeg:iend) 466 466 else 467 dojlev=1,nlev467 DO jlev=1,nlev 468 468 ! missing full-level temperature and pressure as well as land-sea-mask 469 469 zrgp(1:il,ifs_config%ire_liq+jlev-1,ib) = 0._jprb 470 470 zrgp(1:il,ifs_config%ire_ice+jlev-1,ib) = 0._jprb 471 471 enddo 472 dojlev=1,nlev-1472 DO jlev=1,nlev-1 473 473 zrgp(1:il,ifs_config%ioverlap+jlev-1,ib) = 0._jprb 474 474 enddo … … 531 531 !$OMP PARALLEL DO SCHEDULE(RUNTIME)& 532 532 !$OMP&PRIVATE(JRL,IBEG,IEND,IL,IB,JLEV,JG) 533 dojrl=1,ncol,nproma533 DO jrl=1,ncol,nproma 534 534 ibeg=jrl 535 535 iend=min(ibeg+nproma-1,ncol) … … 537 537 ib=(jrl-1)/nproma+1 538 538 539 dojlev=1,nlev+1539 DO jlev=1,nlev+1 540 540 flux%sw_up(ibeg:iend,jlev) = zrgp(1:il,ifs_config%ifrso+jlev-1,ib) 541 541 flux%lw_up(ibeg:iend,jlev) = zrgp(1:il,ifs_config%ifrth+jlev-1,ib) … … 561 561 emissivity_out(ibeg:iend) = zrgp(1:il,ifs_config%iemit,ib) 562 562 if (yradiation%yrerad%lapproxswupdate) then 563 dojg=1,yradiation%yrerad%nsw563 DO jg=1,yradiation%yrerad%nsw 564 564 flux_diffuse_band(ibeg:iend,jg) = zrgp(1:il,ifs_config%iswdiffuseband+jg-1,ib) 565 565 flux_direct_band(ibeg:iend,jg) = zrgp(1:il,ifs_config%iswdirectband+jg-1,ib)
Note: See TracChangeset
for help on using the changeset viewer.