Ignore:
Timestamp:
Feb 4, 2008, 5:24:28 PM (17 years ago)
Author:
Laurent Fairhead
Message:

Modifications sur l'albedo JG
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/physiq.F

    r883 r888  
    690690      REAL,save ::  solarlong0
    691691c
    692       REAL,allocatable,save :: falbe(:,:)
    693 c$OMP THREADPRIVATE(falbe)       ! albedo par type de surface
    694 c
    695       REAL,allocatable,save :: falblw(:,:)
    696 c$OMP THREADPRIVATE(falblw)       ! albedo par type de surface
     692      REAL,allocatable,save :: falb1(:,:)
     693c$OMP THREADPRIVATE(falb1)       ! albedo par type de surface pour SW visible
     694c
     695      REAL,allocatable,save :: falb2(:,:)
     696c$OMP THREADPRIVATE(falb2)       ! albedo par type de surface pour SW proche IR
    697697
    698698c
     
    969969cIM
    970970cym      SAVE pctsrf                 ! sous-fraction du sol
    971       REAL,allocatable,save :: albsol(:)
    972 c$OMP THREADPRIVATE(albsol)
    973 cym      SAVE albsol                 ! albedo du sol total
    974       REAL,allocatable,save :: albsollw(:)
    975 c$OMP THREADPRIVATE(albsollw)     
    976 cym      SAVE albsollw                 ! albedo du sol total
     971
     972      REAL,allocatable,save :: albsol1(:) ! albedo du sol total pour SW visible
     973c$OMP THREADPRIVATE(albsol1)
     974      REAL,allocatable,save :: albsol2(:) ! albedo du sol total pour SW proche IR
     975c$OMP THREADPRIVATE(albsol2)     
    977976
    978977      REAL,allocatable,save :: wo(:,:)
     
    15271526      allocate( ftsol(klon,nbsrf))
    15281527      allocate( deltat(klon))
    1529       allocate( falbe(klon,nbsrf))
    1530       allocate( falblw(klon,nbsrf))
     1528      allocate( falb1(klon,nbsrf))
     1529      allocate( falb2(klon,nbsrf))
    15311530      allocate( zmea(klon))
    15321531      allocate( zstd(klon))
     
    15731572      allocate( total_rain(klon), nday_rain(klon))
    15741573      allocate( pctsrf(klon,nbsrf))
    1575       allocate( albsol(klon))
    1576       allocate( albsollw(klon))
     1574      allocate( albsol1(klon))
     1575      allocate( albsol2(klon))
    15771576      allocate( wo(klon,klev))
    15781577      allocate( clwcon(klon,klev),rnebcon(klon,klev))
     
    17311730c        nhistoW(:,:,:,:) = 0.0
    17321731c        histoW(:,:,:,:) = 0.0
     1732! fin anne
    17331733
    17341734cIM     
     
    17731773     .       rlat,rlon,pctsrf, ftsol,
    17741774     .       ocean, ok_veget,
    1775      .       falbe, falblw, rain_fall,snow_fall,
     1775     .       falb1, falb2, rain_fall,snow_fall,
    17761776     .       solsw, sollw,
    17771777     .       radsol,clesphy0,
     
    23182318     e     t_seri,    q_seri,    u_seri,  v_seri,   
    23192319     e     pplay,     paprs,     pctsrf,           
    2320      +     ftsol,     falbe,     falblw,  u10m,   v10m,
     2320     +     ftsol,     falb1,     falb2,   u10m,   v10m,
    23212321     s     sollwdown, cdragh,    cdragm,  yu1,    yv1,
    2322      s     albsol,    albsollw,  sens,    evap, 
     2322     s     albsol1,   albsol2,   sens,    evap, 
    23232323     s     zxtsol,    zxfluxlat, zt2m,    qsat2m,
    23242324     s     d_t_vdf,   d_q_vdf,   d_u_vdf, d_v_vdf,
     
    32333233     $                          zxsnow_dummy,
    32343234     $                          solsw,
    3235      $                          albsol,
     3235     $                          albsol1,
    32363236     $                          rain_fall,
    32373237     $                          snow_fall,
     
    32943294
    32953295      DO i = 1, klon
    3296          albsol(i) = falbe(i,is_oce) * pctsrf(i,is_oce)
    3297      .             + falbe(i,is_lic) * pctsrf(i,is_lic)
    3298      .             + falbe(i,is_ter) * pctsrf(i,is_ter)
    3299      .             + falbe(i,is_sic) * pctsrf(i,is_sic)
    3300          albsollw(i) = falblw(i,is_oce) * pctsrf(i,is_oce)
    3301      .               + falblw(i,is_lic) * pctsrf(i,is_lic)
    3302      .               + falblw(i,is_ter) * pctsrf(i,is_ter)
    3303      .               + falblw(i,is_sic) * pctsrf(i,is_sic)
     3296         albsol1(i) = falb1(i,is_oce) * pctsrf(i,is_oce)
     3297     .             + falb1(i,is_lic) * pctsrf(i,is_lic)
     3298     .             + falb1(i,is_ter) * pctsrf(i,is_ter)
     3299     .             + falb1(i,is_sic) * pctsrf(i,is_sic)
     3300         albsol2(i) = falb2(i,is_oce) * pctsrf(i,is_oce)
     3301     .               + falb2(i,is_lic) * pctsrf(i,is_lic)
     3302     .               + falb2(i,is_ter) * pctsrf(i,is_ter)
     3303     .               + falb2(i,is_sic) * pctsrf(i,is_sic)
    33043304      ENDDO
    33053305
     
    33353335      CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS)
    33363336     e            (dist, rmu0, fract,
    3337      e             paprs, pplay,zxtsol,albsol, albsollw, t_seri,q_seri,
     3337     e             paprs, pplay,zxtsol,albsol1, albsol2, t_seri,q_seri,
    33383338     e             wo,
    33393339     e             cldfra, cldemi, cldtau,
     
    35743574     I                   pphis,
    35753575     I                   pphi,
    3576      I                   albsol,
     3576     I                   albsol1,
    35773577     I                   qx(1,1,1),
    35783578     I                   rhcl,
     
    38273827c pour ecriture dans histxxx.nc
    38283828
    3829       ! Get some variables from module mod_fonte_neige
     3829      ! Get some variables from module fonte_neige_mod
    38303830      CALL fonte_neige_get_vars(pctsrf,
    38313831     .     zxfqcalving, zxfqfonte, zxffonte)
    38323832
    38333833      IF (ocean == 'slab') THEN
    3834          ! Get some variables from module oceanslab
     3834         ! Get some variables from module ocean_slab_mod
    38353835         CALL ocean_slab_get_vars(tslab, seaice, fluxo, fluxg)
    38363836      ELSEIF (ocean == 'couple') THEN
    3837          ! Get some variables from module oceancpl
     3837         ! Get some variables from module ocean_cpl_mod
    38383838         CALL ocean_cpl_get_vars(fluxo, fluxg)
    38393839      ELSE
    3840          ! Get some variables from module oceanforced
     3840         ! Get some variables from module ocean_forced_mod
    38413841         CALL ocean_forced_get_vars(fluxo, fluxg)
    38423842      ENDIF
     
    38843884         CALL phyredem ("restartphy.nc",dtime,radpas,ocean,
    38853885     .      rlat, rlon, pctsrf, ftsol,
    3886      .      falbe,falblw, rain_fall,
     3886     .      falb1, falb2, rain_fall,
    38873887     .      snow_fall,
    38883888     .      solsw, sollw,
Note: See TracChangeset for help on using the changeset viewer.