Changeset 486 for trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90
- Timestamp:
- Dec 21, 2011, 10:09:07 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90
r471 r486 211 211 ! Effective radius and variance of the aerosols 212 212 213 ! CO2 ice: 214 DO l=1,nlayer 215 DO ig=1,ngrid 216 reffrad(ig,l,1) = 1.e-4 217 nueffrad(ig,l,1) = 0.1 213 do iaer=1,naerkind 218 214 ! these values will change once the microphysics gets to work 219 215 ! UNLESS tracer=.false., in which case we should be working with 220 216 ! a fixed aerosol layer, and be able to define reffrad in a 221 217 ! .def file. To be improved! 222 ENDDO 223 ENDDO 224 225 ! H2O ice: 226 if(naerkind.eq.2)then 227 DO l=1,nlayer 228 DO ig=1,ngrid 229 reffrad(ig,l,naerkind) = 1.e-5 230 nueffrad(ig,l,naerkind) = 0.1 231 ENDDO 232 ENDDO 233 endif 218 219 if(iaer.eq.1)then ! CO2 ice 220 do l=1,nlayer 221 do ig=1,ngrid 222 reffrad(ig,l,iaer) = 1.e-4 223 nueffrad(ig,l,iaer) = 0.1 224 enddo 225 enddo 226 endif 227 228 if(iaer.eq.2)then ! H2O ice 229 do l=1,nlayer 230 do ig=1,ngrid 231 reffrad(ig,l,iaer) = 1.e-5 232 nueffrad(ig,l,iaer) = 0.1 233 enddo 234 enddo 235 endif 236 237 if(iaer.eq.3)then ! dust 238 do l=1,nlayer 239 do ig=1,ngrid 240 reffrad(ig,l,iaer) = 1.e-5 241 nueffrad(ig,l,iaer) = 0.1 242 enddo 243 enddo 244 endif 245 246 if(iaer.gt.3)then 247 print*,'Error in callcorrk, naerkind is too high.' 248 print*,'The code still needs generalisation to arbitrary' 249 print*,'aerosol kinds and number.' 250 call abort 251 endif 252 253 enddo 234 254 235 255 print*, "callcorrk: Correlated-k data base folder:",trim(datadir) … … 248 268 Cmk= 0.01 * 1.0 / (g * mugaz * 1.672621e-27) ! q_main=1.0 assumed 249 269 250 251 270 if((igcm_h2o_vap.eq.0) .and. varactive)then 252 271 print*,'varactive in callcorrk but no h2o_vap tracer.' … … 268 287 enddo 269 288 enddo 270 271 289 272 290 if(kastprof)then … … 426 444 end do 427 445 428 429 446 ! longwave 430 447 DO nw=1,L_NSPECTI … … 465 482 end do 466 483 end do 467 468 484 469 485 ! test / correct for freaky s. s. albedo values … … 515 531 !tauaero(L_LEVELS+1,iaer) = 0. 516 532 end do 517 !print*,'Note changed tauaero BCs in callcorrk!'518 533 519 534 ! Albedo and emissivity … … 533 548 acosz=mu0(ig) ! cosine of sun incident angle 534 549 endif 535 536 550 537 551 !----------------------------------------------------------------------- … … 591 605 end do 592 606 593 594 595 607 !----------------------------------------------------------------------- 596 608 ! kcm mode only 597 609 if(kastprof)then 598 610 611 ! initial values equivalent to mugaz 599 612 DO l=1,nlayer 600 613 muvarrad(2*l) = mugaz … … 602 615 END DO 603 616 604 do k=1,L_LEVELS605 qvar(k) = 0.0606 end do607 print*,'ASSUMING qH2O=0 EVERYWHERE IN CALLCORRK!'617 !do k=1,L_LEVELS 618 ! qvar(k) = 0.0 619 !end do 620 !print*,'ASSUMING qH2O=0 EVERYWHERE IN CALLCORRK!' 608 621 endif 609 622 … … 633 646 qvar(2*nlayermx+1)=qsurf(ig,i_var)*muvar(ig,1)/mH2O 634 647 635 636 endif 637 648 endif 638 649 639 650 ! Keep values inside limits for which we have radiative transfer coefficients … … 678 689 tmid(L_LEVELS) = tlevrad(L_LEVELS) 679 690 680 681 691 ! test for out-of-bounds pressure 682 692 if(plevrad(3).lt.pgasmin)then … … 695 705 print*,'Minimum temperature is outside the radiative' 696 706 print*,'transfer kmatrix bounds, exiting.' 697 print*,'WARNING, OVERRIDING FOR TEST'698 !call abort707 !print*,'WARNING, OVERRIDING FOR TEST' 708 call abort 699 709 elseif(tlevrad(k).gt.tgasmax)then 700 710 print*,'Maximum temperature is outside the radiative' 701 711 print*,'transfer kmatrix bounds, exiting.' 702 print*,'WARNING, OVERRIDING FOR TEST' 703 !print*, 'T=',pt 704 !call abort 712 !print*,'WARNING, OVERRIDING FOR TEST' 713 call abort 705 714 endif 706 715 enddo … … 735 744 tmid,pmid,taugsurf,qvar,muvarrad) 736 745 737 738 746 call sfluxv(dtauv,tauv,taucumv,albv,dwnv,wbarv,cosbv, & 739 747 acosz,stel_fract,gweight, & 740 748 nfluxtopv,nfluxoutv_nu,nfluxgndv_nu, & 741 !acosz,stel_fract,gweight,nfluxtopv,nfluxgndv_nu, &742 749 fmnetv,fluxupv,fluxdnv,fzerov,taugsurf) 743 750 … … 753 760 end if 754 761 755 756 757 758 762 !----------------------------------------------------------------------- 759 763 ! Longwave … … 846 850 if(specOLR)then 847 851 if(ngrid.ne.1)then 848 !call writediagspecIR(ngrid,"OLR3D","OLR(lon,lat,band)","W m^-2",3,OLR_nu)849 !call writediagspecVI(ngrid,"OSR3D","OSR(lon,lat,band)","W m^-2",3,OSR_nu)852 call writediagspecIR(ngrid,"OLR3D","OLR(lon,lat,band)","W m^-2",3,OLR_nu) 853 call writediagspecVI(ngrid,"OSR3D","OSR(lon,lat,band)","W m^-2",3,OSR_nu) 850 854 endif 851 855 endif … … 892 896 endif 893 897 894 ! !!see physiq.F for explanations about CLFvarying. This is temporary.898 ! see physiq.F for explanations about CLFvarying. This is temporary. 895 899 if (lastcall .and. .not.CLFvarying) then 896 900 IF( ALLOCATED( gasi ) ) DEALLOCATE( gasi )
Note: See TracChangeset
for help on using the changeset viewer.