Ignore:
Timestamp:
Nov 13, 2015, 7:21:01 PM (9 years ago)
Author:
mturbet
Message:

spectral snow albedo added

Location:
trunk/LMDZ.GENERIC/libf/phystd
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90

    r1483 r1498  
    231231         call sugas_corrk       ! Set up gaseous absorption properties.
    232232         call suaer_corrk       ! Set up aerosol optical properties.
    233 
     233       
    234234
    235235         if((igcm_h2o_vap.eq.0) .and. varactive)then
  • trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90

    r1482 r1498  
    3939      logical ok_slab_sic
    4040      logical ok_slab_heat_transp
     41      logical albedo_spectral_mode
    4142
    4243      integer iddist
  • trunk/LMDZ.GENERIC/libf/phystd/inifis.F

    r1482 r1498  
    614614         call getin_p("icetstep",icetstep)
    615615         write(*,*) " icetstep = ",icetstep
     616         
     617         write(*,*) "Spectral Dependant albedo ?"
     618         albedo_spectral_mode=.false. ! default value
     619         call getin_p("albedo_spectral_mode",albedo_spectral_mode)
     620         write(*,*) " albedo_spectral_mode = ",albedo_spectral_mode
    616621
    617622         write(*,*) "Snow albedo ?"
     623         write(*,*) "If albedo_spectral_mode=.true., then this "
     624         write(*,*) "corresponds to the 0.5 microns snow albedo."
    618625         albedosnow=0.5         ! default value
    619626         call getin_p("albedosnow",albedosnow)
  • trunk/LMDZ.GENERIC/libf/phystd/physiq.F90

    r1493 r1498  
    539539         call surfini(ngrid,nq,qsurf,albedo,albedo_bareground,albedo_snow_SPECTV,albedo_co2_ice_SPECTV)
    540540         
    541          
    542541!        Initialize orbital calculation.
    543542!        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
    928927               ! Net atmospheric radiative heating rate (K.s-1)
    929928               dtrad(1:ngrid,1:nlayer)=zdtsw(1:ngrid,1:nlayer)+zdtlw(1:ngrid,1:nlayer)
     929               
     930               ! Late initialization of the Ice Spectral Albedo. We needed the visible bands to do that !
     931               if (firstcall .and. albedo_spectral_mode) then
     932                  call spectral_albedo_calc(albedo_snow_SPECTV)
     933               endif
    930934
    931935            elseif(newtonian)then
     
    951955               print*,'------------WARNING---WARNING------------' ! by MT2015.
    952956               print*,'You are in corrk=false mode, '
    953                print*,'and the surface albedo is taken equal to its value at 0.5 micrometers ...'
    954                if ( (10000./BWNV(1) .le. 0.5) .or. (10000./BWNV(L_NSPECTV) .ge. 0.5) ) then
    955                   print*,'0.5 microns band doesnt match your visible bands ! Abort !'
    956                   call abort
    957                endif
    958                DO nw=1, L_NSPECTV-1
    959                   if ( (10000./BWNV(nw) .ge. 0.5) .and. (10000./BWNV(nw+1) .lt. 0.5) ) then
    960                      fluxsurfabs_sw(1:ngrid) = fluxtop_dn(1:ngrid)*(1.-albedo(1:ngrid,nw))
    961                      fluxrad_sky(1:ngrid)    = fluxsurfabs_sw(1:ngrid)
    962                   endif
    963                ENDDO
     957               print*,'and the surface albedo is taken equal to the first visible spectral value'               
     958               
     959               fluxsurfabs_sw(1:ngrid) = fluxtop_dn(1:ngrid)*(1.-albedo(1:ngrid,1))
     960               fluxrad_sky(1:ngrid)    = fluxsurfabs_sw(1:ngrid)
    964961               fluxtop_lw(1:ngrid)  = emis(1:ngrid)*sigma*tsurf(1:ngrid)**4
    965962
Note: See TracChangeset for help on using the changeset viewer.