- Timestamp:
- May 21, 2024, 9:36:17 PM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/surf_landice_mod.F90
r4916 r4947 146 146 REAL, DIMENSION(klon) :: fluxbs_1, fluxbs_2, bsweight_fresh 147 147 LOGICAL, DIMENSION(klon) :: ok_remaining_freshsnow 148 REAL :: ta1, ta2, ta3, z01, z02, z03, coefa, coefb, coefc, coefd 149 148 150 149 151 ! End definition … … 350 352 ! 351 353 !**************************************************************************************** 352 z0m = z0m_landice 353 z0h = z0h_landice 354 !z0m = SQRT(z0m**2+rugoro**2) 355 354 355 if (z0m_landice .GT. 0.) then 356 z0m(1:knon) = z0m_landice 357 z0h(1:knon) = z0h_landice 358 else 359 ! parameterization of z0=f(T) following measurements in Adelie Land by Amory et al 2018 360 coefa = 0.1658 !0.1862 !Ant 361 coefb = -50.3869 !-55.7718 !Ant 362 ta1 = 253.15 !255. Ant 363 ta2 = 273.15 364 ta3 = 273.15+3 365 z01 = exp(coefa*ta1 + coefb) !~0.2 ! ~0.25 mm 366 z02 = exp(coefa*ta2 + coefb) !~6 !~7 mm 367 z03 = z01 368 coefc = log(z03/z02)/(ta3-ta2) 369 coefd = log(z03)-coefc*ta3 370 do j=1,knon 371 if (temp_air(j) .lt. ta1) then 372 z0m(j) = z01 373 else if (temp_air(j).ge.ta1 .and. temp_air(j).lt.ta2) then 374 z0m(j) = exp(coefa*temp_air(j) + coefb) 375 else if (temp_air(j).ge.ta2 .and. temp_air(j).lt.ta3) then 376 ! if st > 0, melting induce smooth surface 377 z0m(j) = exp(coefc*temp_air(j) + coefd) 378 else 379 z0m(j) = z03 380 endif 381 z0h(j)=z0m(j) 382 enddo 383 384 endif 385 356 386 357 387 !**************************************************************************************** … … 366 396 if (ok_bs) then 367 397 fluxbs(:)=0. 368 do j=1,k lon398 do j=1,knon 369 399 ws1(j)=(u1(j)**2+v1(j)**2)**0.5 370 400 ustar(j)=(cdragm(j)*(u1(j)**2+v1(j)**2))**0.5
Note: See TracChangeset
for help on using the changeset viewer.