Changeset 3268 for trunk/LMDZ.GENERIC


Ignore:
Timestamp:
Mar 14, 2024, 9:32:34 AM (9 months ago)
Author:
mturbet
Message:

changes in computation of snow albedo when ok_slab_ocean is activated

Location:
trunk/LMDZ.GENERIC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/changelog.txt

    r3266 r3268  
    18811881conditions for the presence of solar flux.
    18821882
    1883 == 13/03/2024 == MT
     1883== 13-14/03/2024 == MT
    18841884
    18851885- Very minor change of max sea ice fraction in ocean model
    18861886- Preliminary cleanup+commenting in hydrol.F90
     1887- Changes in computation of snow albedo when ok_slab_ocean is activated
  • trunk/LMDZ.GENERIC/libf/phystd/hydrol.F90

    r3267 r3268  
    1515  USE tracer_h
    1616!  use slab_ice_h
    17   USE ocean_slab_mod, ONLY: alb_ice_max
    18   USE ocean_slab_mod, ONLY: alb_ice_min
    19   USE ocean_slab_mod, ONLY: h_alb_ice
     17  USE ocean_slab_mod, ONLY: alb_ice_max,alb_ice_min,h_alb_ice,snow_min
    2018  use callkeys_mod, only: albedosnow,alb_ocean,albedoco2ice,ok_slab_ocean,Tsaldiff,maxicethick,co2cond
    2119  use radinc_h, only : L_NSPECTV
     
    102100      real ztsurf(ngrid)
    103101      real albedo_sic, alb_ice
    104       real zfra
     102      real frac_snow
    105103
    106104      integer, save :: ivap, iliq, iice
     
    221219            if(ok_slab_ocean) then ! if ocean heat transport param activated
    222220         
    223                zfra = MAX(0.0,MIN(1.0,zqsurf(ig,iice)/45.0))     ! Snow Fraction (Critical height 45kg/m2~15cm)
    224                alb_ice=alb_ice_max-(alb_ice_max-alb_ice_min) &   ! Ice Albedo
     221               frac_snow = MAX(0.0,MIN(1.0,zqsurf(ig,iice)/snow_min)) ! Critical snow height (in kg/m2) from ocean_slab_ice routine.
     222               ! Standard value should be 15kg/m2 (i.e. about 5 cm). Note that in the previous ocean param. (from BC2014), this value was 45kg/m2 (i.e. about 15cm).
     223               alb_ice=alb_ice_max-(alb_ice_max-alb_ice_min) & ! Ice Albedo
    225224               *exp(-sea_ice(ig)/h_alb_ice)
    226225               ! Albedo final calculation :
    227226               do nw=1,L_NSPECTV
    228227                  albedo(ig,nw) = pctsrf_sic(ig)*                                        &
    229                                  (albedo_snow_SPECTV(nw)*zfra + alb_ice*(1.0-zfra))      &
     228                                 (albedo_snow_SPECTV(nw)*frac_snow + alb_ice*(1.0-frac_snow))      &
    230229                               + (1.-pctsrf_sic(ig))*alb_ocean
    231230               enddo
  • trunk/LMDZ.GENERIC/libf/phystd/ocean_slab_mod.F90

    r3265 r3268  
    112112
    113113! control of snow and ice cover & freeze / melt (heights in m converted to kg/m2)
    114     REAL, PARAMETER :: snow_min=0.05*sno_den ! critical snow height [in kg/m2]
     114    REAL, PARAMETER, PUBLIC :: snow_min=0.05*sno_den ! critical snow height [in kg/m2]
    115115    REAL, PARAMETER :: snow_wfact=0.4 ! max fraction of falling snow blown into ocean [in kg/m2]
    116116    REAL, PARAMETER :: ice_frac_min=0.001
  • trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90

    r3236 r3268  
    19281928            enddo
    19291929
     1930!! These two commented functions are from BC2014 (only kept for record)
     1931!!
    19301932!!            call ocean_slab_ice(ptimestep,                          &
    19311933!!                                ngrid, knindex, tsea_ice, fluxrad,  &
     
    19341936!!                                flux_sens_lat,tsea_ice, pctsrf_sic, &
    19351937!!                               taux,tauy,icount)
    1936 
    1937 
    19381938!!            call ocean_slab_get_vars(ngrid,tslab,      &
    19391939!!                                     sea_ice, flux_o,  &
     
    19551955            call ocean_slab_get_vars(ngrid, tslab, sea_ice, flux_g, &
    19561956                      dt_hdiff, dt_ekman)
     1957                     
     1958!! sea_ice defines the sea ice thickness in kg/m2
     1959!! pctsrf_sic defines the percentage of the oceanic grid that is covered by sea ice (between 0 and **almost** 1)
     1960!! qsurf(:,igcm_h2o_ice) defines the amount of snow that accumulates on top of the sea ice (in kg/m2) ; note that the snow fraction depends on the amount of snow.
     1961!! therefore, beware that qsurf(:,igcm_h2o_ice) has its own meaning for oceanic grid points (when ok_slab_ocean activated)
     1962
    19571963
    19581964            do ig=1,ngrid
Note: See TracChangeset for help on using the changeset viewer.