- Timestamp:
- 2020-05-01T19:06:23+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icevar.F90
r12832 r12854 51 51 !! ice_var_sshdyn : compute equivalent ssh in lead 52 52 !! ice_var_itd : convert N-cat to M-cat 53 !! ice_var_snwfra : fraction of ice covered by snow 53 54 !!---------------------------------------------------------------------- 54 55 USE dom_oce ! ocean space and time domain … … 77 78 PUBLIC ice_var_sshdyn 78 79 PUBLIC ice_var_itd 80 PUBLIC ice_var_snwfra 79 81 80 82 INTERFACE ice_var_itd 81 83 MODULE PROCEDURE ice_var_itd_1c1c, ice_var_itd_Nc1c, ice_var_itd_1cMc, ice_var_itd_NcMc 84 END INTERFACE 85 86 INTERFACE ice_var_snwfra 87 MODULE PROCEDURE ice_var_snwfra_1d, ice_var_snwfra_2d, ice_var_snwfra_3d 82 88 END INTERFACE 83 89 … … 187 193 REAL(wp), PARAMETER :: zhl_max = 0.015_wp ! pond lid thickness above which the ponds disappear from the albedo calculation 188 194 REAL(wp), PARAMETER :: zhl_min = 0.005_wp ! pond lid thickness below which the full pond area is used in the albedo calculation 189 REAL(wp), DIMENSION(jpi,jpj,jpl) :: z1_a_i, z1_v_i, z1_a_ip 195 REAL(wp), DIMENSION(jpi,jpj,jpl) :: z1_a_i, z1_v_i, z1_a_ip, za_s_fra 190 196 !!------------------------------------------------------------------- 191 197 … … 234 240 & ( h_il(:,:,:) - zhl_min ) / ( zhl_max - zhl_min ) 235 241 END WHERE 242 ! 243 CALL ice_var_snwfra( h_s, za_s_fra ) ! calculate ice fraction covered by snow 244 a_ip_eff = MIN( a_ip_eff, 1._wp - za_s_fra ) ! make sure (a_ip_eff + a_s_fra) <= 1 245 ! 236 246 ! !--- salinity (with a minimum value imposed everywhere) 237 247 IF( nn_icesal == 2 ) THEN … … 1268 1278 END SUBROUTINE ice_var_itd_NcMc 1269 1279 1280 !!------------------------------------------------------------------- 1281 !! INTERFACE ice_var_snwfra 1282 !! 1283 !! ** Purpose : fraction of ice covered by snow 1284 !! 1285 !! ** Method : In absence of proper snow model on top of sea ice, 1286 !! we argue that snow does not cover the whole ice because 1287 !! of wind blowing... 1288 !! 1289 !! ** Arguments : ph_s: snow thickness 1290 !! 1291 !! ** Output : pa_s_fra: fraction of ice covered by snow 1292 !! 1293 !!------------------------------------------------------------------- 1294 SUBROUTINE ice_var_snwfra_3d( ph_s, pa_s_fra ) 1295 !!------------------------------------------------------------------- 1296 REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: ph_s ! snow thickness 1297 REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pa_s_fra ! ice fraction covered by snow 1298 !!------------------------------------------------------------------- 1299 pa_s_fra(:,:,:) = 1._wp - EXP( -0.2_wp * rhos * ph_s(:,:,:) ) 1300 END SUBROUTINE ice_var_snwfra_3d 1301 1302 SUBROUTINE ice_var_snwfra_2d( ph_s, pa_s_fra ) 1303 !!------------------------------------------------------------------- 1304 REAL(wp), DIMENSION(:,:), INTENT(in ) :: ph_s ! snow thickness 1305 REAL(wp), DIMENSION(:,:), INTENT( out) :: pa_s_fra ! ice fraction covered by snow 1306 !!------------------------------------------------------------------- 1307 pa_s_fra(:,:) = 1._wp - EXP( -0.2_wp * rhos * ph_s(:,:) ) 1308 END SUBROUTINE ice_var_snwfra_2d 1309 1310 SUBROUTINE ice_var_snwfra_1d( ph_s, pa_s_fra ) 1311 !!------------------------------------------------------------------- 1312 REAL(wp), DIMENSION(:), INTENT(in ) :: ph_s ! snow thickness 1313 REAL(wp), DIMENSION(:), INTENT( out) :: pa_s_fra ! ice fraction covered by snow 1314 !!------------------------------------------------------------------- 1315 pa_s_fra(:) = 1._wp - EXP( -0.2_wp * rhos * ph_s(:) ) 1316 END SUBROUTINE ice_var_snwfra_1d 1317 1318 1270 1319 #else 1271 1320 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.