/[lmdze]/trunk/Sources/phylmd/Interface_surf/interfsurf_hq.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/Interface_surf/interfsurf_hq.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 208 by guez, Wed Dec 7 16:44:53 2016 UTC revision 209 by guez, Wed Dec 7 17:37:21 2016 UTC
# Line 4  module interfsurf_hq_m Line 4  module interfsurf_hq_m
4    
5  contains  contains
6    
7    SUBROUTINE interfsurf_hq(dtime, jour, rmu0, nisurf, knon, knindex, rlat, &    SUBROUTINE interfsurf_hq(dtime, jour, rmu0, nisurf, knon, knindex, debut, &
8         debut, tsoil, qsol, u1_lay, v1_lay, temp_air, spechum, tq_cdrag, &         tsoil, qsol, u1_lay, v1_lay, temp_air, spechum, tq_cdrag, petAcoef, &
9         petAcoef, peqAcoef, petBcoef, peqBcoef, precip_rain, precip_snow, &         peqAcoef, petBcoef, peqBcoef, precip_rain, precip_snow, fder, rugos, &
10         fder, rugos, rugoro, snow, qsurf, tsurf, p1lay, ps, radsol, evap, &         rugoro, snow, qsurf, tsurf, p1lay, ps, radsol, evap, flux_t, fluxlat, &
11         flux_t, fluxlat, dflux_l, dflux_s, tsurf_new, albedo, z0_new, &         dflux_l, dflux_s, tsurf_new, albedo, z0_new, pctsrf_new_sic, agesno, &
12         pctsrf_new_sic, agesno, fqcalving, ffonte, run_off_lic_0)         fqcalving, ffonte, run_off_lic_0)
13    
14      ! Cette routine sert d'aiguillage entre l'atmosph\`ere et la surface      ! Cette routine sert d'aiguillage entre l'atmosph\`ere et la surface
15      ! en g\'en\'eral (sols continentaux, oc\'eans, glaces) pour les flux de      ! en g\'en\'eral (sols continentaux, oc\'eans, glaces) pour les flux de
# Line 19  contains Line 19  contains
19    
20      USE abort_gcm_m, ONLY: abort_gcm      USE abort_gcm_m, ONLY: abort_gcm
21      use alboc_cd_m, only: alboc_cd      use alboc_cd_m, only: alboc_cd
     use alboc_m, only: alboc  
22      USE albsno_m, ONLY: albsno      USE albsno_m, ONLY: albsno
23      use calbeta_m, only: calbeta      use calbeta_m, only: calbeta
24      USE calcul_fluxs_m, ONLY: calcul_fluxs      USE calcul_fluxs_m, ONLY: calcul_fluxs
25      use clesphys2, only: soil_model, cycle_diurne      use clesphys2, only: soil_model
26      USE dimphy, ONLY: klon      USE dimphy, ONLY: klon
27      USE fonte_neige_m, ONLY: fonte_neige      USE fonte_neige_m, ONLY: fonte_neige
28      USE indicesol, ONLY: epsfra, is_lic, is_oce, is_sic, is_ter      USE indicesol, ONLY: epsfra, is_lic, is_oce, is_sic, is_ter
# Line 42  contains Line 41  contains
41      integer, intent(in):: knindex(:) ! (knon)      integer, intent(in):: knindex(:) ! (knon)
42      ! index des points de la surface a traiter      ! index des points de la surface a traiter
43    
     real, intent(IN):: rlat(klon) ! latitudes  
   
44      logical, intent(IN):: debut ! 1er appel a la physique      logical, intent(IN):: debut ! 1er appel a la physique
45      ! (si false calcul simplifie des fluxs sur les continents)      ! (si false calcul simplifie des fluxs sur les continents)
46    
# Line 207  contains Line 204  contains
204         ! Surface "oc\'ean", appel \`a l'interface avec l'oc\'ean         ! Surface "oc\'ean", appel \`a l'interface avec l'oc\'ean
205    
206         call read_sst(dtime, jour, knindex, debut, tsurf_temp)         call read_sst(dtime, jour, knindex, debut, tsurf_temp)
   
207         cal = 0.         cal = 0.
208         beta = 1.         beta = 1.
209         dif_grnd = 0.         dif_grnd = 0.
# Line 219  contains Line 215  contains
215              petBcoef(:knon), peqBcoef(:knon), tsurf_new, evap, &              petBcoef(:knon), peqBcoef(:knon), tsurf_new, evap, &
216              fluxlat(:knon), flux_t, dflux_s(:knon), dflux_l(:knon))              fluxlat(:knon), flux_t, dflux_s(:knon), dflux_l(:knon))
217         fder = fder + dflux_s + dflux_l         fder = fder + dflux_s + dflux_l
218           albedo = alboc_cd(rmu0(knindex)) * fmagic
        ! Compute the albedo:  
   
        if (cycle_diurne) then  
           albedo = alboc_cd(rmu0(knindex))  
        else  
           albedo = alboc(jour, rlat(knindex))  
        endif  
   
        albedo = albedo * fmagic  
   
219         z0_new = sqrt(rugos**2 + rugoro**2)         z0_new = sqrt(rugos**2 + rugoro**2)
220      case (is_sic)      case (is_sic)
221         ! Surface "glace de mer" appel a l'interface avec l'ocean         ! Surface "glace de mer" appel a l'interface avec l'ocean

Legend:
Removed from v.208  
changed lines
  Added in v.209

  ViewVC Help
Powered by ViewVC 1.1.21