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

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

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

revision 304 by guez, Thu Aug 2 17:23:07 2018 UTC revision 305 by guez, Tue Sep 11 11:08:38 2018 UTC
# Line 6  contains Line 6  contains
6    
7    SUBROUTINE interfsurf_hq(julien, mu0, nisurf, knindex, tsoil, qsol, u1_lay, &    SUBROUTINE interfsurf_hq(julien, mu0, nisurf, knindex, tsoil, qsol, u1_lay, &
8         v1_lay, temp_air, spechum, tq_cdrag, tAcoef, qAcoef, tBcoef, qBcoef, &         v1_lay, temp_air, spechum, tq_cdrag, tAcoef, qAcoef, tBcoef, qBcoef, &
9         precip_rain, precip_snow, rugos, rugoro, snow, qsurf, ts, p1lay, ps, &         rain_fall, snow_fall, rugos, rugoro, snow, qsurf, ts, p1lay, ps, &
10         radsol, evap, flux_t, fluxlat, dflux_l, dflux_s, tsurf_new, albedo, &         radsol, evap, flux_t, fluxlat, dflux_l, dflux_s, tsurf_new, albedo, &
11         z0_new, pctsrf_new_sic, agesno, fqcalving, ffonte, run_off_lic_0, &         z0_new, pctsrf_new_sic, agesno, fqcalving, ffonte, run_off_lic_0, &
12         run_off_lic)         run_off_lic)
# Line 52  contains Line 52  contains
52      real, intent(IN):: tBcoef(:), qBcoef(:) ! (knon)      real, intent(IN):: tBcoef(:), qBcoef(:) ! (knon)
53      ! coefficients B de la r\'esolution de la couche limite pour t et q      ! coefficients B de la r\'esolution de la couche limite pour t et q
54    
55      real, intent(IN):: precip_rain(:) ! (knon)      real, intent(IN):: rain_fall(:) ! (knon)
56      ! precipitation, liquid water mass flux (kg / m2 / s), positive down      ! precipitation, liquid water mass flux (kg / m2 / s), positive down
57    
58      real, intent(IN):: precip_snow(:) ! (knon)      real, intent(IN):: snow_fall(:) ! (knon)
59      ! precipitation, solid water mass flux (kg / m2 / s), positive down      ! precipitation, solid water mass flux (kg / m2 / s), positive down
60    
61      real, intent(IN):: rugos(:) ! (knon) rugosite      real, intent(IN):: rugos(:) ! (knon) rugosite
# Line 128  contains Line 128  contains
128              radsol + soilflux, temp_air, spechum, u1_lay, v1_lay, tAcoef, &              radsol + soilflux, temp_air, spechum, u1_lay, v1_lay, tAcoef, &
129              qAcoef, tBcoef, qBcoef, tsurf_new, evap, fluxlat, flux_t, dflux_s, &              qAcoef, tBcoef, qBcoef, tsurf_new, evap, fluxlat, flux_t, dflux_s, &
130              dflux_l, dif_grnd = 0.)              dflux_l, dif_grnd = 0.)
131         CALL fonte_neige(is_ter, precip_rain, precip_snow, snow, qsol, &         CALL fonte_neige(is_ter, rain_fall, snow_fall, snow, qsol, &
132              tsurf_new, evap, fqcalving, ffonte, run_off_lic_0, run_off_lic)              tsurf_new, evap, fqcalving, ffonte, run_off_lic_0, run_off_lic)
133    
134         call albsno(agesno, alb_neig, precip_snow)         call albsno(agesno, alb_neig, snow_fall)
135         where (snow < 0.0001) agesno = 0.         where (snow < 0.0001) agesno = 0.
136         zfra = max(0., min(1., snow / (snow + 10.)))         zfra = max(0., min(1., snow / (snow + 10.)))
137         albedo = alb_neig * zfra + albedo * (1. - zfra)         albedo = alb_neig * zfra + albedo * (1. - zfra)
# Line 171  contains Line 171  contains
171              radsol + soilflux, temp_air, spechum, u1_lay, v1_lay, tAcoef, &              radsol + soilflux, temp_air, spechum, u1_lay, v1_lay, tAcoef, &
172              qAcoef, tBcoef, qBcoef, tsurf_new, evap, fluxlat, flux_t, dflux_s, &              qAcoef, tBcoef, qBcoef, tsurf_new, evap, fluxlat, flux_t, dflux_s, &
173              dflux_l, dif_grnd = 1. / tau_gl)              dflux_l, dif_grnd = 1. / tau_gl)
174         CALL fonte_neige(is_sic, precip_rain, precip_snow, snow, qsol, &         CALL fonte_neige(is_sic, rain_fall, snow_fall, snow, qsol, &
175              tsurf_new, evap, fqcalving, ffonte, run_off_lic_0, run_off_lic)              tsurf_new, evap, fqcalving, ffonte, run_off_lic_0, run_off_lic)
176    
177         ! Compute the albedo:         ! Compute the albedo:
178    
179         CALL albsno(agesno, alb_neig, precip_snow)         CALL albsno(agesno, alb_neig, snow_fall)
180         WHERE (snow < 0.0001) agesno = 0.         WHERE (snow < 0.0001) agesno = 0.
181         zfra = MAX(0., MIN(1., snow / (snow + 10.)))         zfra = MAX(0., MIN(1., snow / (snow + 10.)))
182         albedo = alb_neig * zfra + 0.6 * (1. - zfra)         albedo = alb_neig * zfra + 0.6 * (1. - zfra)
# Line 192  contains Line 192  contains
192              radsol + soilflux, temp_air, spechum, u1_lay, v1_lay, tAcoef, &              radsol + soilflux, temp_air, spechum, u1_lay, v1_lay, tAcoef, &
193              qAcoef, tBcoef, qBcoef, tsurf_new, evap, fluxlat, flux_t, dflux_s, &              qAcoef, tBcoef, qBcoef, tsurf_new, evap, fluxlat, flux_t, dflux_s, &
194              dflux_l, dif_grnd = 0.)              dflux_l, dif_grnd = 0.)
195         call fonte_neige(is_lic, precip_rain, precip_snow, snow, qsol, &         call fonte_neige(is_lic, rain_fall, snow_fall, snow, qsol, &
196              tsurf_new, evap, fqcalving, ffonte, run_off_lic_0, run_off_lic)              tsurf_new, evap, fqcalving, ffonte, run_off_lic_0, run_off_lic)
197    
198         ! calcul albedo         ! calcul albedo
199         CALL albsno(agesno, alb_neig, precip_snow)         CALL albsno(agesno, alb_neig, snow_fall)
200         WHERE (snow < 0.0001) agesno = 0.         WHERE (snow < 0.0001) agesno = 0.
201         albedo = 0.77         albedo = 0.77
202    

Legend:
Removed from v.304  
changed lines
  Added in v.305

  ViewVC Help
Powered by ViewVC 1.1.21