Changeset 2254


Ignore:
Timestamp:
Apr 3, 2015, 12:16:36 PM (10 years ago)
Author:
fhourdin
Message:

Modification du calcul des flux air/mer
1) Introduction d'un facteur f_qsat_oce=0.98 devant qsat dans le calcul
de l'évaporation sur océan pour tenir compte de la moindre évaporation
de l'eau salée.
2) Introduction d'une différentiation entre z0 pour le sensible, z0h,
et le latent, z0q, imposé constant z0q=f_z0qh_oce*z0h

Modification of air/sea fluxes computation
1) Introduction of a correcting factor f_qsat_oce=0.98 on qsat
to account for the weaker evaporation of salty water.
2) Introduction of z0q=f_z0qh_oce*z0h

Location:
LMDZ5/trunk/libf/phylmd
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/calcul_fluxs_mod.F90

    r2240 r2254  
    55CONTAINS
    66  SUBROUTINE calcul_fluxs( knon, nisurf, dtime, &
    7        tsurf, p1lay, cal, beta, coef1lay, ps, &
     7       tsurf, p1lay, cal, beta, cdragh, cdragq, ps, &
    88       precip_rain, precip_snow, snow, qsurf, &
    99       radsol, dif_grnd, t1lay, q1lay, u1lay, v1lay, gustiness, &
    10        petAcoef, peqAcoef, petBcoef, peqBcoef, &
     10       fqsat, petAcoef, peqAcoef, petBcoef, peqBcoef, &
    1111       tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    1212   
     
    2828!   cal          capacite calorifique du sol
    2929!   beta         evap reelle
    30 !   coef1lay     coefficient d'echange
     30!   cdragh       coefficient d'echange temperature
     31!   cdragq       coefficient d'echange evaporation
    3132!   ps           pression au sol
    3233!   precip_rain  precipitations liquides
     
    6162    REAL, DIMENSION(klon), INTENT(IN)    :: petBcoef, peqBcoef
    6263    REAL, DIMENSION(klon), INTENT(IN)    :: ps, q1lay
    63     REAL, DIMENSION(klon), INTENT(IN)    :: tsurf, p1lay, cal, beta, coef1lay
     64    REAL, DIMENSION(klon), INTENT(IN)    :: tsurf, p1lay, cal, beta, cdragh,cdragq
    6465    REAL, DIMENSION(klon), INTENT(IN)    :: precip_rain, precip_snow ! pas utiles
    6566    REAL, DIMENSION(klon), INTENT(IN)    :: radsol, dif_grnd
    6667    REAL, DIMENSION(klon), INTENT(IN)    :: t1lay, u1lay, v1lay,gustiness
     68    REAL,                  INTENT(IN)    :: fqsat ! correction factor on qsat (generally 0.98 over salty water, 1 everywhere else)
    6769
    6870! Parametres entree-sorties
     
    8183    REAL, DIMENSION(klon)                :: zx_mh, zx_nh, zx_oh
    8284    REAL, DIMENSION(klon)                :: zx_mq, zx_nq, zx_oq
    83     REAL, DIMENSION(klon)                :: zx_pkh, zx_dq_s_dt, zx_qsat, zx_coef
    84     REAL, DIMENSION(klon)                :: zx_sl, zx_k1
     85    REAL, DIMENSION(klon)                :: zx_pkh, zx_dq_s_dt, zx_qsat
     86    REAL, DIMENSION(klon)                :: zx_sl, zx_coefh, zx_coefq, zx_wind
    8587    REAL, DIMENSION(klon)                :: d_ts
    8688    REAL                                 :: zdelta, zcvm5, zx_qs, zcor, zx_dq_s_dh
     
    127129    fluxlat=0.
    128130    dflux_s = 0.
    129     dflux_l = 0.       
     131    dflux_l = 0.
    130132!
    131133! zx_qs = qsat en kg/kg
     
    156158       zx_dq_s_dt(i) = RCPD * zx_pkh(i) * zx_dq_s_dh
    157159       zx_qsat(i) = zx_qs
    158        zx_coef(i) = coef1lay(i) * &
    159             (min_wind_speed+SQRT(gustiness(i)+u1lay(i)**2+v1lay(i)**2)) * &
    160             p1lay(i)/(RD*t1lay(i))
    161        
     160       zx_wind(i)=min_wind_speed+SQRT(gustiness(i)+u1lay(i)**2+v1lay(i)**2)
     161       zx_coefh(i) = cdragh(i) * zx_wind(i) * p1lay(i)/(RD*t1lay(i))
     162       zx_coefq(i) = cdragq(i) * zx_wind(i) * p1lay(i)/(RD*t1lay(i))
     163!      zx_wind(i)=min_wind_speed+SQRT(gustiness(i)+u1lay(i)**2+v1lay(i)**2) &
     164!                * p1lay(i)/(RD*t1lay(i))
     165!      zx_coefh(i) = cdragh(i) * zx_wind(i)
     166!      zx_coefq(i) = cdragq(i) * zx_wind(i)
    162167    ENDDO
    163168
     
    170175       zx_sl(i) = RLVTT
    171176       IF (tsurf(i) .LT. RTT) zx_sl(i) = RLSTT
    172        zx_k1(i) = zx_coef(i)
    173177    ENDDO
    174178   
     
    176180    DO i = 1, knon
    177181! Q
    178        zx_oq(i) = 1. - (beta(i) * zx_k1(i) * peqBcoef(i) * dtime)
    179        zx_mq(i) = beta(i) * zx_k1(i) * &
    180             (peqAcoef(i) - zx_qsat(i) + &
    181             zx_dq_s_dt(i) * tsurf(i)) &
     182       zx_oq(i) = 1. - (beta(i) * zx_coefq(i) * peqBcoef(i) * dtime)
     183       zx_mq(i) = beta(i) * zx_coefq(i) * &
     184            (peqAcoef(i) -             &
     185! conv num avec precedente version
     186            fqsat * zx_qsat(i) + fqsat * zx_dq_s_dt(i) * tsurf(i))  &
     187!           fqsat * ( zx_qsat(i) - zx_dq_s_dt(i) * tsurf(i)) ) &
    182188            / zx_oq(i)
    183        zx_nq(i) = beta(i) * zx_k1(i) * (-1. * zx_dq_s_dt(i)) &
     189       zx_nq(i) = beta(i) * zx_coefq(i) * (- fqsat * zx_dq_s_dt(i)) &
    184190            / zx_oq(i)
    185191       
    186192! H
    187        zx_oh(i) = 1. - (zx_k1(i) * petBcoef(i) * dtime)
    188        zx_mh(i) = zx_k1(i) * petAcoef(i) / zx_oh(i)
    189        zx_nh(i) = - (zx_k1(i) * RCPD * zx_pkh(i))/ zx_oh(i)
     193       zx_oh(i) = 1. - (zx_coefh(i) * petBcoef(i) * dtime)
     194       zx_mh(i) = zx_coefh(i) * petAcoef(i) / zx_oh(i)
     195       zx_nh(i) = - (zx_coefh(i) * RCPD * zx_pkh(i))/ zx_oh(i)
    190196     
    191197! Tsurface
  • LMDZ5/trunk/libf/phylmd/clesphys.h

    r2243 r2254  
    4444! Frottement au sol (Cdrag)
    4545       Real f_cdrag_ter,f_cdrag_oce
    46        REAL min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce
     46       REAL min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce
    4747       REAL z0m_seaice,z0h_seaice
    4848       INTEGER iflag_gusts,iflag_z0_oce
     
    9696     &     , fmagic, pmagic                                             &
    9797     &     , f_cdrag_ter,f_cdrag_oce,f_rugoro,z0min                     &
    98      &     , min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce              &
     98     &     , min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce   &
    9999     &     , z0m_seaice,z0h_seaice                                      &
    100100     &     , pasphys            , freq_outNMC, freq_calNMC              &
  • LMDZ5/trunk/libf/phylmd/conf_phys_m.F90

    r2253 r2254  
    119119    Real,SAVE           :: f_rugoro_omp   , z0min_omp
    120120    Real,SAVE           :: z0m_seaice_omp,z0h_seaice_omp
    121     REAL,SAVE           :: min_wind_speed_omp,f_gust_wk_omp,f_gust_bl_omp,f_qsat_oce_omp
     121    REAL,SAVE           :: min_wind_speed_omp,f_gust_wk_omp,f_gust_bl_omp,f_qsat_oce_omp, f_z0qh_oce_omp
    122122    INTEGER,SAVE        :: iflag_gusts_omp,iflag_z0_oce_omp
    123123
     
    16791679
    16801680! Gustiness flags
     1681    f_z0qh_oce_omp = 1.
     1682    call getin('f_z0qh_oce',f_z0qh_oce_omp)
     1683    !
    16811684    f_qsat_oce_omp = 1.
    16821685    call getin('f_qsat_oce',f_qsat_oce_omp)
     
    20622065    f_gust_bl=f_gust_bl_omp
    20632066    f_qsat_oce=f_qsat_oce_omp
     2067    f_z0qh_oce=f_z0qh_oce_omp
    20642068    min_wind_speed=min_wind_speed_omp
    20652069    iflag_gusts=iflag_gusts_omp
  • LMDZ5/trunk/libf/phylmd/ocean_cpl_mod.F90

    r2240 r2254  
    4646       windsp, fder_old, &
    4747       itime, dtime, knon, knindex, &
    48        p1lay, cdragh, cdragm, precip_rain, precip_snow, temp_air, spechum, &
     48       p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, temp_air, spechum, &
    4949       AcoefH, AcoefQ, BcoefH, BcoefQ, &
    5050       AcoefU, AcoefV, BcoefU, BcoefV, &
     
    6565
    6666    INCLUDE "YOMCST.h"
     67    INCLUDE "clesphys.h"
    6768!   
    6869! Input arguments 
     
    7778    REAL, DIMENSION(klon), INTENT(IN)        :: fder_old
    7879    REAL, DIMENSION(klon), INTENT(IN)        :: p1lay
    79     REAL, DIMENSION(klon), INTENT(IN)        :: cdragh, cdragm
     80    REAL, DIMENSION(klon), INTENT(IN)        :: cdragh, cdragq, cdragm
    8081    REAL, DIMENSION(klon), INTENT(IN)        :: precip_rain, precip_snow
    8182    REAL, DIMENSION(klon), INTENT(IN)        :: temp_air, spechum
     
    136137
    137138    CALL calcul_fluxs(knon, is_oce, dtime, &
    138          tsurf_cpl, p1lay, cal, beta, cdragh, ps, &
     139         tsurf_cpl, p1lay, cal, beta, cdragh, cdragq, ps, &
    139140         precip_rain, precip_snow, snow, qsurf,  &
    140141         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    141          AcoefH, AcoefQ, BcoefH, BcoefQ, &
     142         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    142143         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    143144   
     
    200201
    201202    INCLUDE "YOMCST.h"
     203    INCLUDE "clesphys.h"
    202204
    203205! Input arguments
     
    279281
    280282    CALL calcul_fluxs(knon, is_sic, dtime, &
    281          tsurf_cpl, p1lay, cal, beta, cdragh, ps, &
     283         tsurf_cpl, p1lay, cal, beta, cdragh, cdragh, ps, &
    282284         precip_rain, precip_snow, snow, qsurf,  &
    283285         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    284          AcoefH, AcoefQ, BcoefH, BcoefQ, &
     286         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    285287         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    286288
  • LMDZ5/trunk/libf/phylmd/ocean_forced_mod.F90

    r2240 r2254  
    1313  SUBROUTINE ocean_forced_noice( &
    1414       itime, dtime, jour, knon, knindex, &
    15        p1lay, cdragh, cdragm, precip_rain, precip_snow, &
     15       p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, &
    1616       temp_air, spechum, &
    1717       AcoefH, AcoefQ, BcoefH, BcoefQ, &
     
    3333    USE indice_sol_mod
    3434    INCLUDE "YOMCST.h"
     35    INCLUDE "clesphys.h"
     36
    3537
    3638! Input arguments
     
    4042    REAL, INTENT(IN)                         :: dtime
    4143    REAL, DIMENSION(klon), INTENT(IN)        :: p1lay
    42     REAL, DIMENSION(klon), INTENT(IN)        :: cdragh, cdragm
     44    REAL, DIMENSION(klon), INTENT(IN)        :: cdragh, cdragq, cdragm
    4345    REAL, DIMENSION(klon), INTENT(IN)        :: precip_rain, precip_snow
    4446    REAL, DIMENSION(klon), INTENT(IN)        :: temp_air, spechum
     
    109111! Calcul de tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l and qsurf
    110112    CALL calcul_fluxs(knon, is_oce, dtime, &
    111          tsurf_lim, p1lay, cal, beta, cdragh, ps, &
     113         tsurf_lim, p1lay, cal, beta, cdragh, cdragq, ps, &
    112114         precip_rain, precip_snow, snow, qsurf,  &
    113115         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    114          AcoefH, AcoefQ, BcoefH, BcoefQ, &
     116         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    115117         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    116118
     
    231233    v1_lay(:) = v1(:) - v0(:)
    232234    CALL calcul_fluxs(knon, is_sic, dtime, &
    233          tsurf_tmp, p1lay, cal, beta, cdragh, ps, &
     235         tsurf_tmp, p1lay, cal, beta, cdragh, cdragh, ps, &
    234236         precip_rain, precip_snow, snow, qsurf,  &
    235237         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    236          AcoefH, AcoefQ, BcoefH, BcoefQ, &
     238         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    237239         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    238240
  • LMDZ5/trunk/libf/phylmd/ocean_slab_mod.F90

    r2240 r2254  
    216216  SUBROUTINE ocean_slab_noice( &
    217217       itime, dtime, jour, knon, knindex, &
    218        p1lay, cdragh, cdragm, precip_rain, precip_snow, temp_air, spechum, &
     218       p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, temp_air, spechum, &
    219219       AcoefH, AcoefQ, BcoefH, BcoefQ, &
    220220       AcoefU, AcoefV, BcoefU, BcoefV, &
     
    227227
    228228    INCLUDE "iniprint.h"
     229    INCLUDE "clesphys.h"
    229230
    230231! Input arguments
     
    236237    REAL, INTENT(IN)                     :: dtime
    237238    REAL, DIMENSION(klon), INTENT(IN)    :: p1lay
    238     REAL, DIMENSION(klon), INTENT(IN)    :: cdragh, cdragm
     239    REAL, DIMENSION(klon), INTENT(IN)    :: cdragh, cdragq, cdragm
    239240    REAL, DIMENSION(klon), INTENT(IN)    :: precip_rain, precip_snow
    240241    REAL, DIMENSION(klon), INTENT(IN)    :: temp_air, spechum
     
    287288
    288289    CALL calcul_fluxs(knon, is_oce, dtime, &
    289          tsurf_in, p1lay, cal, beta, cdragh, ps, &
     290         tsurf_in, p1lay, cal, beta, cdragh, cdragq, ps, &
    290291         precip_rain, precip_snow, snow, qsurf,  &
    291292         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    292          AcoefH, AcoefQ, BcoefH, BcoefQ, &
     293         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    293294         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    294295
     
    406407
    407408   INCLUDE "YOMCST.h"
     409   INCLUDE "clesphys.h"
    408410
    409411! Input arguments
     
    498500! calcul_fluxs (sens, lat etc)
    499501    CALL calcul_fluxs(knon, is_sic, dtime, &
    500         tsurf_in, p1lay, cal, beta, cdragh, ps, &
     502        tsurf_in, p1lay, cal, beta, cdragh, cdragh, ps, &
    501503        precip_rain, precip_snow, snow, qsurf,  &
    502504        radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    503         AcoefH, AcoefQ, BcoefH, BcoefQ, &
     505        f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    504506        tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    505507    DO i=1,knon
  • LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90

    r2244 r2254  
    17911791               ywindsp, rmu0, yfder, yts, &
    17921792               itap, dtime, jour, knon, ni, &
    1793                ypplay(:,1), ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),&
     1793               ypplay(:,1), zgeo1/RG, ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),&
    17941794               AcoefH, AcoefQ, BcoefH, BcoefQ, &
    17951795               AcoefU, AcoefV, BcoefU, BcoefV, &
  • LMDZ5/trunk/libf/phylmd/surf_land_bucket_mod.F90

    r2246 r2254  
    123123
    124124    CALL calcul_fluxs(knon, is_ter, dtime, &
    125          tsurf, p1lay, cal, beta, tq_cdrag, pref, &
     125         tsurf, p1lay, cal, beta, tq_cdrag, tq_cdrag, pref, &
    126126         precip_rain, precip_snow, snow, qsurf,  &
    127127         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    128          petAcoef, peqAcoef, petBcoef, peqBcoef, &
     128         1.,petAcoef, peqAcoef, petBcoef, peqBcoef, &
    129129         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    130130   
  • LMDZ5/trunk/libf/phylmd/surf_landice_mod.F90

    r2243 r2254  
    179179          tsoil0(i,:)=tsoil(i,:)
    180180       END DO
    181            ! Martin
    182            PRINT*, 'on appelle surf_sisvat'
    183            ! Martin
     181           ! Martin
     182           PRINT*, 'on appelle surf_sisvat'
     183           ! Martin
    184184       CALL surf_sisvat(knon, rlon, rlat, knindex, itime, dtime, debut, lafin, &
    185185            rmu0, swdown, lwdown, pexner, ps, p1lay, &
     
    241241
    242242    CALL calcul_fluxs(knon, is_lic, dtime, &
    243          tsurf, p1lay, cal, beta, cdragh, ps, &
     243         tsurf, p1lay, cal, beta, cdragh, cdragh, ps, &
    244244         precip_rain, precip_snow, snow, qsurf,  &
    245245         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    246          AcoefH, AcoefQ, BcoefH, BcoefQ, &
     246         1.,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    247247         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    248248
  • LMDZ5/trunk/libf/phylmd/surf_ocean_mod.F90

    r2243 r2254  
    66CONTAINS
    77!
    8 !****************************************************************************************
     8!******************************************************************************
    99!
    1010  SUBROUTINE surf_ocean(rlon, rlat, swnet, lwnet, alb1, &
    1111       windsp, rmu0, fder, tsurf_in, &
    1212       itime, dtime, jour, knon, knindex, &
    13        p1lay, cdragh, cdragm, precip_rain, precip_snow, temp_air, spechum, &
     13       p1lay, z1lay, cdragh, cdragm, precip_rain, precip_snow, temp_air, spechum, &
    1414       AcoefH, AcoefQ, BcoefH, BcoefQ, &
    1515       AcoefU, AcoefV, BcoefU, BcoefV, &
     
    3838
    3939! Input variables
    40 !****************************************************************************************
     40!******************************************************************************
    4141    INTEGER, INTENT(IN)                      :: itime, jour, knon
    4242    INTEGER, DIMENSION(klon), INTENT(IN)     :: knindex
     
    5050    REAL, DIMENSION(klon), INTENT(IN)        :: fder
    5151    REAL, DIMENSION(klon), INTENT(IN)        :: tsurf_in
    52     REAL, DIMENSION(klon), INTENT(IN)        :: p1lay
     52    REAL, DIMENSION(klon), INTENT(IN)        :: p1lay,z1lay ! pression (Pa) et altitude (m) du premier niveau
    5353    REAL, DIMENSION(klon), INTENT(IN)        :: cdragh
    5454    REAL, DIMENSION(klon), INTENT(IN)        :: cdragm
     
    6363
    6464! In/Output variables
    65 !****************************************************************************************
     65!******************************************************************************
    6666    REAL, DIMENSION(klon), INTENT(INOUT)     :: snow
    6767    REAL, DIMENSION(klon), INTENT(INOUT)     :: qsurf
     
    6969
    7070! Output variables
    71 !****************************************************************************************
     71!******************************************************************************
    7272    REAL, DIMENSION(klon), INTENT(OUT)       :: z0m, z0h
    7373!albedo SB >>>
     
    8484
    8585! Local variables
    86 !****************************************************************************************
     86!******************************************************************************
    8787    INTEGER               :: i, k
    8888    REAL                  :: tmp
     
    9090    REAL, DIMENSION(klon) :: alb_eau
    9191    REAL, DIMENSION(klon) :: radsol
     92    REAL, DIMENSION(klon) :: cdragq ! Cdrag pour l'evaporation
    9293
    9394! End definition
    94 !****************************************************************************************
    95 
    96 
    97 !****************************************************************************************
     95!******************************************************************************
     96
     97
     98!******************************************************************************
    9899! Calculate total net radiance at surface
    99100!
    100 !****************************************************************************************
     101!******************************************************************************
    101102    radsol(:) = 0.0
    102103    radsol(1:knon) = swnet(1:knon) + lwnet(1:knon)
    103104
    104 !****************************************************************************************
     105!******************************************************************************
     106! Cdragq computed from cdrag
     107! The difference comes only from a factor (f_z0qh_oce) on z0, so that
     108! it can be computed inside surf_ocean
     109! More complicated appraches may require the propagation through
     110! pbl_surface of an independant cdragq variable.
     111!******************************************************************************
     112
     113    IF ( f_z0qh_oce .ne. 1.) THEN
     114       cdragq(:)=cdragh(:)*                                      &
     115       log(z1lay(:)/z0h(:))/log(z1lay(:)/(f_z0qh_oce*z0h(:)))
     116    ELSE
     117       cdragq(:)=cdragh(:)
     118    ENDIF
     119
     120!******************************************************************************
    105121! Switch according to type of ocean (couple, slab or forced)
    106 !****************************************************************************************
     122!******************************************************************************
    107123    SELECT CASE(type_ocean)
    108124    CASE('couple')
     
    111127            windsp, fder, &
    112128            itime, dtime, knon, knindex, &
    113             p1lay, cdragh, cdragm, precip_rain, precip_snow,temp_air,spechum,&
     129            p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow,temp_air,spechum,&
    114130            AcoefH, AcoefQ, BcoefH, BcoefQ, &
    115131            AcoefU, AcoefV, BcoefU, BcoefV, &
     
    122138       CALL ocean_slab_noice( &
    123139            itime, dtime, jour, knon, knindex, &
    124             p1lay, cdragh, cdragm, precip_rain, precip_snow, temp_air, spechum,&
     140            p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, temp_air, spechum,&
    125141            AcoefH, AcoefQ, BcoefH, BcoefQ, &
    126142            AcoefU, AcoefV, BcoefU, BcoefV, &
     
    133149       CALL ocean_forced_noice( &
    134150            itime, dtime, jour, knon, knindex, &
    135             p1lay, cdragh, cdragm, precip_rain, precip_snow, &
     151            p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, &
    136152            temp_air, spechum, &
    137153            AcoefH, AcoefQ, BcoefH, BcoefQ, &
     
    143159    END SELECT
    144160
    145 !****************************************************************************************
     161!******************************************************************************
    146162! fcodron: compute lmt_bils  forced case (same as wfbils_oce / 1.-contfracatm)
    147 !****************************************************************************************
     163!******************************************************************************
    148164    IF (type_ocean.NE.'slab') THEN
    149165        lmt_bils(:)=0.
     
    154170    END IF
    155171
    156 !****************************************************************************************
     172!******************************************************************************
    157173! Calculate albedo
    158 !
    159 !****************************************************************************************
     174!******************************************************************************
    160175!albedo SB >>>
    161 
    162 
    163176  if(iflag_albedo==1)then
    164177    call ocean_albedo(knon,rmu0,knindex,windsp,SFRWL,alb_dir_new,alb_dif_new)
     
    180193!albedo SB <<<
    181194
    182 !****************************************************************************************
     195!******************************************************************************
    183196! Calculate the rugosity
    184 !
    185 !****************************************************************************************
     197!******************************************************************************
    186198IF (iflag_z0_oce==0) THEN
    187199    DO i = 1, knon
     
    197209ENDIF
    198210!
    199 !****************************************************************************************
    200 !   
     211!******************************************************************************
    201212  END SUBROUTINE surf_ocean
    202 !
    203 !****************************************************************************************
     213!******************************************************************************
    204214!
    205215END MODULE surf_ocean_mod
Note: See TracChangeset for help on using the changeset viewer.