Changeset 2254
- Timestamp:
- Apr 3, 2015, 12:16:36 PM (10 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/calcul_fluxs_mod.F90
r2240 r2254 5 5 CONTAINS 6 6 SUBROUTINE calcul_fluxs( knon, nisurf, dtime, & 7 tsurf, p1lay, cal, beta, c oef1lay, ps, &7 tsurf, p1lay, cal, beta, cdragh, cdragq, ps, & 8 8 precip_rain, precip_snow, snow, qsurf, & 9 9 radsol, dif_grnd, t1lay, q1lay, u1lay, v1lay, gustiness, & 10 petAcoef, peqAcoef, petBcoef, peqBcoef, &10 fqsat, petAcoef, peqAcoef, petBcoef, peqBcoef, & 11 11 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 12 12 … … 28 28 ! cal capacite calorifique du sol 29 29 ! beta evap reelle 30 ! coef1lay coefficient d'echange 30 ! cdragh coefficient d'echange temperature 31 ! cdragq coefficient d'echange evaporation 31 32 ! ps pression au sol 32 33 ! precip_rain precipitations liquides … … 61 62 REAL, DIMENSION(klon), INTENT(IN) :: petBcoef, peqBcoef 62 63 REAL, DIMENSION(klon), INTENT(IN) :: ps, q1lay 63 REAL, DIMENSION(klon), INTENT(IN) :: tsurf, p1lay, cal, beta, c oef1lay64 REAL, DIMENSION(klon), INTENT(IN) :: tsurf, p1lay, cal, beta, cdragh,cdragq 64 65 REAL, DIMENSION(klon), INTENT(IN) :: precip_rain, precip_snow ! pas utiles 65 66 REAL, DIMENSION(klon), INTENT(IN) :: radsol, dif_grnd 66 67 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) 67 69 68 70 ! Parametres entree-sorties … … 81 83 REAL, DIMENSION(klon) :: zx_mh, zx_nh, zx_oh 82 84 REAL, DIMENSION(klon) :: zx_mq, zx_nq, zx_oq 83 REAL, DIMENSION(klon) :: zx_pkh, zx_dq_s_dt, zx_qsat , zx_coef84 REAL, DIMENSION(klon) :: zx_sl, zx_ k185 REAL, DIMENSION(klon) :: zx_pkh, zx_dq_s_dt, zx_qsat 86 REAL, DIMENSION(klon) :: zx_sl, zx_coefh, zx_coefq, zx_wind 85 87 REAL, DIMENSION(klon) :: d_ts 86 88 REAL :: zdelta, zcvm5, zx_qs, zcor, zx_dq_s_dh … … 127 129 fluxlat=0. 128 130 dflux_s = 0. 129 dflux_l = 0. 131 dflux_l = 0. 130 132 ! 131 133 ! zx_qs = qsat en kg/kg … … 156 158 zx_dq_s_dt(i) = RCPD * zx_pkh(i) * zx_dq_s_dh 157 159 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) 162 167 ENDDO 163 168 … … 170 175 zx_sl(i) = RLVTT 171 176 IF (tsurf(i) .LT. RTT) zx_sl(i) = RLSTT 172 zx_k1(i) = zx_coef(i)173 177 ENDDO 174 178 … … 176 180 DO i = 1, knon 177 181 ! 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)) ) & 182 188 / 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)) & 184 190 / zx_oq(i) 185 191 186 192 ! 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) 190 196 191 197 ! Tsurface -
LMDZ5/trunk/libf/phylmd/clesphys.h
r2243 r2254 44 44 ! Frottement au sol (Cdrag) 45 45 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 47 47 REAL z0m_seaice,z0h_seaice 48 48 INTEGER iflag_gusts,iflag_z0_oce … … 96 96 & , fmagic, pmagic & 97 97 & , 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 & 99 99 & , z0m_seaice,z0h_seaice & 100 100 & , pasphys , freq_outNMC, freq_calNMC & -
LMDZ5/trunk/libf/phylmd/conf_phys_m.F90
r2253 r2254 119 119 Real,SAVE :: f_rugoro_omp , z0min_omp 120 120 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 122 122 INTEGER,SAVE :: iflag_gusts_omp,iflag_z0_oce_omp 123 123 … … 1679 1679 1680 1680 ! Gustiness flags 1681 f_z0qh_oce_omp = 1. 1682 call getin('f_z0qh_oce',f_z0qh_oce_omp) 1683 ! 1681 1684 f_qsat_oce_omp = 1. 1682 1685 call getin('f_qsat_oce',f_qsat_oce_omp) … … 2062 2065 f_gust_bl=f_gust_bl_omp 2063 2066 f_qsat_oce=f_qsat_oce_omp 2067 f_z0qh_oce=f_z0qh_oce_omp 2064 2068 min_wind_speed=min_wind_speed_omp 2065 2069 iflag_gusts=iflag_gusts_omp -
LMDZ5/trunk/libf/phylmd/ocean_cpl_mod.F90
r2240 r2254 46 46 windsp, fder_old, & 47 47 itime, dtime, knon, knindex, & 48 p1lay, cdragh, cdrag m, precip_rain, precip_snow, temp_air, spechum, &48 p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, temp_air, spechum, & 49 49 AcoefH, AcoefQ, BcoefH, BcoefQ, & 50 50 AcoefU, AcoefV, BcoefU, BcoefV, & … … 65 65 66 66 INCLUDE "YOMCST.h" 67 INCLUDE "clesphys.h" 67 68 ! 68 69 ! Input arguments … … 77 78 REAL, DIMENSION(klon), INTENT(IN) :: fder_old 78 79 REAL, DIMENSION(klon), INTENT(IN) :: p1lay 79 REAL, DIMENSION(klon), INTENT(IN) :: cdragh, cdrag m80 REAL, DIMENSION(klon), INTENT(IN) :: cdragh, cdragq, cdragm 80 81 REAL, DIMENSION(klon), INTENT(IN) :: precip_rain, precip_snow 81 82 REAL, DIMENSION(klon), INTENT(IN) :: temp_air, spechum … … 136 137 137 138 CALL calcul_fluxs(knon, is_oce, dtime, & 138 tsurf_cpl, p1lay, cal, beta, cdragh, ps, &139 tsurf_cpl, p1lay, cal, beta, cdragh, cdragq, ps, & 139 140 precip_rain, precip_snow, snow, qsurf, & 140 141 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 141 AcoefH, AcoefQ, BcoefH, BcoefQ, &142 f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, & 142 143 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 143 144 … … 200 201 201 202 INCLUDE "YOMCST.h" 203 INCLUDE "clesphys.h" 202 204 203 205 ! Input arguments … … 279 281 280 282 CALL calcul_fluxs(knon, is_sic, dtime, & 281 tsurf_cpl, p1lay, cal, beta, cdragh, ps, &283 tsurf_cpl, p1lay, cal, beta, cdragh, cdragh, ps, & 282 284 precip_rain, precip_snow, snow, qsurf, & 283 285 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 284 AcoefH, AcoefQ, BcoefH, BcoefQ, &286 f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, & 285 287 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 286 288 -
LMDZ5/trunk/libf/phylmd/ocean_forced_mod.F90
r2240 r2254 13 13 SUBROUTINE ocean_forced_noice( & 14 14 itime, dtime, jour, knon, knindex, & 15 p1lay, cdragh, cdrag m, precip_rain, precip_snow, &15 p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, & 16 16 temp_air, spechum, & 17 17 AcoefH, AcoefQ, BcoefH, BcoefQ, & … … 33 33 USE indice_sol_mod 34 34 INCLUDE "YOMCST.h" 35 INCLUDE "clesphys.h" 36 35 37 36 38 ! Input arguments … … 40 42 REAL, INTENT(IN) :: dtime 41 43 REAL, DIMENSION(klon), INTENT(IN) :: p1lay 42 REAL, DIMENSION(klon), INTENT(IN) :: cdragh, cdrag m44 REAL, DIMENSION(klon), INTENT(IN) :: cdragh, cdragq, cdragm 43 45 REAL, DIMENSION(klon), INTENT(IN) :: precip_rain, precip_snow 44 46 REAL, DIMENSION(klon), INTENT(IN) :: temp_air, spechum … … 109 111 ! Calcul de tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l and qsurf 110 112 CALL calcul_fluxs(knon, is_oce, dtime, & 111 tsurf_lim, p1lay, cal, beta, cdragh, ps, &113 tsurf_lim, p1lay, cal, beta, cdragh, cdragq, ps, & 112 114 precip_rain, precip_snow, snow, qsurf, & 113 115 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 114 AcoefH, AcoefQ, BcoefH, BcoefQ, &116 f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, & 115 117 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 116 118 … … 231 233 v1_lay(:) = v1(:) - v0(:) 232 234 CALL calcul_fluxs(knon, is_sic, dtime, & 233 tsurf_tmp, p1lay, cal, beta, cdragh, ps, &235 tsurf_tmp, p1lay, cal, beta, cdragh, cdragh, ps, & 234 236 precip_rain, precip_snow, snow, qsurf, & 235 237 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 236 AcoefH, AcoefQ, BcoefH, BcoefQ, &238 f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, & 237 239 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 238 240 -
LMDZ5/trunk/libf/phylmd/ocean_slab_mod.F90
r2240 r2254 216 216 SUBROUTINE ocean_slab_noice( & 217 217 itime, dtime, jour, knon, knindex, & 218 p1lay, cdragh, cdrag m, precip_rain, precip_snow, temp_air, spechum, &218 p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, temp_air, spechum, & 219 219 AcoefH, AcoefQ, BcoefH, BcoefQ, & 220 220 AcoefU, AcoefV, BcoefU, BcoefV, & … … 227 227 228 228 INCLUDE "iniprint.h" 229 INCLUDE "clesphys.h" 229 230 230 231 ! Input arguments … … 236 237 REAL, INTENT(IN) :: dtime 237 238 REAL, DIMENSION(klon), INTENT(IN) :: p1lay 238 REAL, DIMENSION(klon), INTENT(IN) :: cdragh, cdrag m239 REAL, DIMENSION(klon), INTENT(IN) :: cdragh, cdragq, cdragm 239 240 REAL, DIMENSION(klon), INTENT(IN) :: precip_rain, precip_snow 240 241 REAL, DIMENSION(klon), INTENT(IN) :: temp_air, spechum … … 287 288 288 289 CALL calcul_fluxs(knon, is_oce, dtime, & 289 tsurf_in, p1lay, cal, beta, cdragh, ps, &290 tsurf_in, p1lay, cal, beta, cdragh, cdragq, ps, & 290 291 precip_rain, precip_snow, snow, qsurf, & 291 292 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 292 AcoefH, AcoefQ, BcoefH, BcoefQ, &293 f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, & 293 294 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 294 295 … … 406 407 407 408 INCLUDE "YOMCST.h" 409 INCLUDE "clesphys.h" 408 410 409 411 ! Input arguments … … 498 500 ! calcul_fluxs (sens, lat etc) 499 501 CALL calcul_fluxs(knon, is_sic, dtime, & 500 tsurf_in, p1lay, cal, beta, cdragh, ps, &502 tsurf_in, p1lay, cal, beta, cdragh, cdragh, ps, & 501 503 precip_rain, precip_snow, snow, qsurf, & 502 504 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 503 AcoefH, AcoefQ, BcoefH, BcoefQ, &505 f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, & 504 506 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 505 507 DO i=1,knon -
LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90
r2244 r2254 1791 1791 ywindsp, rmu0, yfder, yts, & 1792 1792 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),& 1794 1794 AcoefH, AcoefQ, BcoefH, BcoefQ, & 1795 1795 AcoefU, AcoefV, BcoefU, BcoefV, & -
LMDZ5/trunk/libf/phylmd/surf_land_bucket_mod.F90
r2246 r2254 123 123 124 124 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, & 126 126 precip_rain, precip_snow, snow, qsurf, & 127 127 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 128 petAcoef, peqAcoef, petBcoef, peqBcoef, &128 1.,petAcoef, peqAcoef, petBcoef, peqBcoef, & 129 129 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 130 130 -
LMDZ5/trunk/libf/phylmd/surf_landice_mod.F90
r2243 r2254 179 179 tsoil0(i,:)=tsoil(i,:) 180 180 END DO 181 182 183 181 ! Martin 182 PRINT*, 'on appelle surf_sisvat' 183 ! Martin 184 184 CALL surf_sisvat(knon, rlon, rlat, knindex, itime, dtime, debut, lafin, & 185 185 rmu0, swdown, lwdown, pexner, ps, p1lay, & … … 241 241 242 242 CALL calcul_fluxs(knon, is_lic, dtime, & 243 tsurf, p1lay, cal, beta, cdragh, ps, &243 tsurf, p1lay, cal, beta, cdragh, cdragh, ps, & 244 244 precip_rain, precip_snow, snow, qsurf, & 245 245 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 246 AcoefH, AcoefQ, BcoefH, BcoefQ, &246 1.,AcoefH, AcoefQ, BcoefH, BcoefQ, & 247 247 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 248 248 -
LMDZ5/trunk/libf/phylmd/surf_ocean_mod.F90
r2243 r2254 6 6 CONTAINS 7 7 ! 8 !****************************************************************************** **********8 !****************************************************************************** 9 9 ! 10 10 SUBROUTINE surf_ocean(rlon, rlat, swnet, lwnet, alb1, & 11 11 windsp, rmu0, fder, tsurf_in, & 12 12 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, & 14 14 AcoefH, AcoefQ, BcoefH, BcoefQ, & 15 15 AcoefU, AcoefV, BcoefU, BcoefV, & … … 38 38 39 39 ! Input variables 40 !****************************************************************************** **********40 !****************************************************************************** 41 41 INTEGER, INTENT(IN) :: itime, jour, knon 42 42 INTEGER, DIMENSION(klon), INTENT(IN) :: knindex … … 50 50 REAL, DIMENSION(klon), INTENT(IN) :: fder 51 51 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 53 53 REAL, DIMENSION(klon), INTENT(IN) :: cdragh 54 54 REAL, DIMENSION(klon), INTENT(IN) :: cdragm … … 63 63 64 64 ! In/Output variables 65 !****************************************************************************** **********65 !****************************************************************************** 66 66 REAL, DIMENSION(klon), INTENT(INOUT) :: snow 67 67 REAL, DIMENSION(klon), INTENT(INOUT) :: qsurf … … 69 69 70 70 ! Output variables 71 !****************************************************************************** **********71 !****************************************************************************** 72 72 REAL, DIMENSION(klon), INTENT(OUT) :: z0m, z0h 73 73 !albedo SB >>> … … 84 84 85 85 ! Local variables 86 !****************************************************************************** **********86 !****************************************************************************** 87 87 INTEGER :: i, k 88 88 REAL :: tmp … … 90 90 REAL, DIMENSION(klon) :: alb_eau 91 91 REAL, DIMENSION(klon) :: radsol 92 REAL, DIMENSION(klon) :: cdragq ! Cdrag pour l'evaporation 92 93 93 94 ! End definition 94 !****************************************************************************** **********95 96 97 !****************************************************************************** **********95 !****************************************************************************** 96 97 98 !****************************************************************************** 98 99 ! Calculate total net radiance at surface 99 100 ! 100 !****************************************************************************** **********101 !****************************************************************************** 101 102 radsol(:) = 0.0 102 103 radsol(1:knon) = swnet(1:knon) + lwnet(1:knon) 103 104 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 !****************************************************************************** 105 121 ! Switch according to type of ocean (couple, slab or forced) 106 !****************************************************************************** **********122 !****************************************************************************** 107 123 SELECT CASE(type_ocean) 108 124 CASE('couple') … … 111 127 windsp, fder, & 112 128 itime, dtime, knon, knindex, & 113 p1lay, cdragh, cdrag m, precip_rain, precip_snow,temp_air,spechum,&129 p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow,temp_air,spechum,& 114 130 AcoefH, AcoefQ, BcoefH, BcoefQ, & 115 131 AcoefU, AcoefV, BcoefU, BcoefV, & … … 122 138 CALL ocean_slab_noice( & 123 139 itime, dtime, jour, knon, knindex, & 124 p1lay, cdragh, cdrag m, precip_rain, precip_snow, temp_air, spechum,&140 p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, temp_air, spechum,& 125 141 AcoefH, AcoefQ, BcoefH, BcoefQ, & 126 142 AcoefU, AcoefV, BcoefU, BcoefV, & … … 133 149 CALL ocean_forced_noice( & 134 150 itime, dtime, jour, knon, knindex, & 135 p1lay, cdragh, cdrag m, precip_rain, precip_snow, &151 p1lay, cdragh, cdragq, cdragm, precip_rain, precip_snow, & 136 152 temp_air, spechum, & 137 153 AcoefH, AcoefQ, BcoefH, BcoefQ, & … … 143 159 END SELECT 144 160 145 !****************************************************************************** **********161 !****************************************************************************** 146 162 ! fcodron: compute lmt_bils forced case (same as wfbils_oce / 1.-contfracatm) 147 !****************************************************************************** **********163 !****************************************************************************** 148 164 IF (type_ocean.NE.'slab') THEN 149 165 lmt_bils(:)=0. … … 154 170 END IF 155 171 156 !****************************************************************************** **********172 !****************************************************************************** 157 173 ! Calculate albedo 158 ! 159 !**************************************************************************************** 174 !****************************************************************************** 160 175 !albedo SB >>> 161 162 163 176 if(iflag_albedo==1)then 164 177 call ocean_albedo(knon,rmu0,knindex,windsp,SFRWL,alb_dir_new,alb_dif_new) … … 180 193 !albedo SB <<< 181 194 182 !****************************************************************************** **********195 !****************************************************************************** 183 196 ! Calculate the rugosity 184 ! 185 !**************************************************************************************** 197 !****************************************************************************** 186 198 IF (iflag_z0_oce==0) THEN 187 199 DO i = 1, knon … … 197 209 ENDIF 198 210 ! 199 !**************************************************************************************** 200 ! 211 !****************************************************************************** 201 212 END SUBROUTINE surf_ocean 202 ! 203 !**************************************************************************************** 213 !****************************************************************************** 204 214 ! 205 215 END MODULE surf_ocean_mod
Note: See TracChangeset
for help on using the changeset viewer.