Changeset 1498


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

spectral snow albedo added

Location:
trunk/LMDZ.GENERIC
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/README

    r1494 r1498  
    11061106== 05/11/2015 == MT
    11071107- Minor Albedo correction of bugs in rcm1d.
     1108
     1109== 13/11/2015 == MT
     1110- Spectral Snow Albebdo implemented in the code.
  • trunk/LMDZ.GENERIC/deftank/callphys.GJ581d

    r727 r1498  
    126126# Include hydrology ?
    127127hydrology     = .true.
     128# Spectral Dependant Albedo ?
     129albedo_spectral_mode=.false.
     130# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     131# If albedo_spectral_mode=.true., albedosnow becomes the 0.5 micron snow albedo.
     132#
     133# albedosnow = 0.95  (0.73 Sun-integrated) for fresh snow.
     134#            = 0.50  (0.39 Sun-integrated) for dirty snow.
     135#            = 0.645 (0.50 Sun-integrated) for 'realistic' snow.
     136# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    128137# H2O snow (and ice) albedo ?
    129 albedosnow    = 0.5
     138albedosnow    = 0.50
    130139# Maximum sea ice thickness ?
    131140maxicethick   = 0.05
     
    135144## CO2 options
    136145## ~~~~~~~~~~~
     146# Co2 ice albedo ?
     147albedoco2ice   = 0.5
    137148# gas is non-ideal CO2 ?
    138149nonideal      = .false.
  • trunk/LMDZ.GENERIC/deftank/callphys.earlymars

    r729 r1498  
    133133# Include hydrology ?
    134134hydrology     = .true.
     135# Spectral Dependant Albedo ?
     136albedo_spectral_mode=.false.
     137# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     138# If albedo_spectral_mode=.true., albedosnow becomes the 0.5 micron snow albedo.
     139#
     140# albedosnow = 0.95  (0.73 Sun-integrated) for fresh snow.
     141#            = 0.50  (0.39 Sun-integrated) for dirty snow.
     142#            = 0.645 (0.50 Sun-integrated) for 'realistic' snow.
     143# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    135144# H2O snow (and ice) albedo ?
    136 albedosnow    = 0.5
     145albedosnow    = 0.50
    137146# Maximum sea ice thickness ?
    138147maxicethick   = 0.05
     
    146155## CO2 options
    147156## ~~~~~~~~~~~
     157# Co2 ice albedo ?
     158albedoco2ice   = 0.5
    148159# gas is non-ideal CO2 ?
    149160nonideal      = .false.
  • trunk/LMDZ.GENERIC/deftank/callphys.earth

    r839 r1498  
    132132# WATER: hydrology ?
    133133hydrology     = .true.
     134# Spectral Dependant Albedo ?
     135albedo_spectral_mode=.false.
     136# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     137# If albedo_spectral_mode=.true., albedosnow becomes the 0.5 micron snow albedo.
     138#
     139# albedosnow = 0.95  (0.73 Sun-integrated) for fresh snow.
     140#            = 0.50  (0.39 Sun-integrated) for dirty snow.
     141#            = 0.78  (0.60 Sun-integrated) for 'realistic' snow.
     142# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    134143# H2O snow (and ice) albedo ?
    135 albedosnow    = 0.6
     144albedosnow    = 0.60
    136145# Maximum sea ice thickness ?
    137146maxicethick   = 10.
     
    143152## CO2 options
    144153## ~~~~~~~~~~~
     154# Co2 ice albedo ?
     155albedoco2ice   = 0.5
    145156# gas is non-ideal CO2 ?
    146157nonideal      = .false.
  • trunk/LMDZ.GENERIC/deftank/earth1d_Dry.callphys.def

    r729 r1498  
    167167# Include hydrology ?
    168168hydrology     = .false.
     169# Spectral Dependant Albedo ?
     170albedo_spectral_mode=.false.
     171# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     172# If albedo_spectral_mode=.true., albedosnow becomes the 0.5 micron snow albedo.
     173#
     174# albedosnow = 0.95  (0.73 Sun-integrated) for fresh snow.
     175#            = 0.50  (0.39 Sun-integrated) for dirty snow.
     176#            = 0.645 (0.50 Sun-integrated) for 'realistic' snow.
     177# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    169178# H2O snow (and ice) albedo ?
    170 albedosnow    = 0.5
     179albedosnow    = 0.50
    171180# Maximum sea ice thickness ?
    172181maxicethick   = 0.5
     
    178187## CO2 options
    179188## ~~~~~~~~~~~
     189# Co2 ice albedo ?
     190albedoco2ice   = 0.5
    180191# call CO2 condensation ?
    181192co2cond       = .false.
  • 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.