Changeset 5188 for LMDZ6/trunk/libf
- Timestamp:
- Sep 14, 2024, 2:23:57 PM (3 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
r5150 r5188 400 400 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: tpot, tpote, ue, uq, uwat, ve, vq, vwat, zxffonte 401 401 !$OMP THREADPRIVATE(tpot, tpote, ue, uq, uwat, ve, vq, vwat, zxffonte) 402 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxustartlic, zxrhoslic, zxqsaltlic 403 !$OMP THREADPRIVATE(zxustartlic, zxrhoslic, zxqsaltlic )402 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxustartlic, zxrhoslic, zxqsaltlic, tempsmoothlic 403 !$OMP THREADPRIVATE(zxustartlic, zxrhoslic, zxqsaltlic, tempsmoothlic) 404 404 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfqcalving 405 405 !$OMP THREADPRIVATE(zxfqcalving) … … 1061 1061 ALLOCATE(zxrunofflic(klon), runoff_diag(klon)) 1062 1062 runoff_diag(:)=0. 1063 ALLOCATE(zxustartlic(klon), zxrhoslic(klon), zxqsaltlic(klon) )1064 zxustartlic(:)=0. ; zxrhoslic(:)=0. ; zxqsaltlic(:)=0. 1063 ALLOCATE(zxustartlic(klon), zxrhoslic(klon), zxqsaltlic(klon), tempsmoothlic(klon)) 1064 zxustartlic(:)=0. ; zxrhoslic(:)=0. ; zxqsaltlic(:)=0. ; tempsmoothlic(:)=0. 1065 1065 ALLOCATE(rain_lsc(klon)) 1066 1066 ALLOCATE(rain_num(klon)) … … 1483 1483 ! SN runoff_diag 1484 1484 DEALLOCATE(zxrunofflic, runoff_diag) 1485 DEALLOCATE(zxustartlic, zxrhoslic, zxqsaltlic )1485 DEALLOCATE(zxustartlic, zxrhoslic, zxqsaltlic, tempsmoothlic) 1486 1486 DEALLOCATE(zxtsol, snow_lsc, zxfqfonte, zxqsurf) 1487 1487 DEALLOCATE(rain_lsc) -
LMDZ6/trunk/libf/phylmd/surf_landice_mod.F90
r5022 r5188 36 36 USE cpl_mod, ONLY : cpl_send_landice_fields 37 37 USE calcul_fluxs_mod 38 USE phys_local_var_mod, ONLY : zxrhoslic, zxustartlic, zxqsaltlic 38 USE phys_local_var_mod, ONLY : zxrhoslic, zxustartlic, zxqsaltlic, tempsmoothlic 39 39 USE phys_output_var_mod, ONLY : snow_o,zfra_o 40 40 #ifdef ISO … … 185 185 186 186 REAL,DIMENSION(klon) :: alb1,alb2 187 REAL :: time_tempsmooth,coef_tempsmooth 187 188 REAL,DIMENSION(klon) :: precip_totsnow, evap_totsnow 188 189 REAL, DIMENSION (klon,6) :: alb6 … … 230 231 PRINT*, 'alb_nir_sno_lic',alb_nir_sno_lic 231 232 233 DO j=1,knon 234 i = knindex(j) 235 tempsmoothlic(i) = temp_air(j) 236 ENDDO 232 237 firstcall=.false. 233 238 ENDIF … … 445 450 z0h(1:knon) = z0h_landice 446 451 else 447 ! parameterization of z0=f(T) following measurements in Adelie Land by Amory et al 201 8452 ! parameterization of z0=f(T) following measurements in Adelie Land by Amory et al 2017 448 453 coefa = 0.1658 !0.1862 !Ant 449 454 coefb = -50.3869 !-55.7718 !Ant … … 456 461 coefc = log(z03/z02)/(ta3-ta2) 457 462 coefd = log(z03)-coefc*ta3 463 time_tempsmooth=2.*86400. 464 coef_tempsmooth=min(1.,dtime/time_tempsmooth) 465 !coef_tempsmooth=0. 458 466 do j=1,knon 459 if (temp_air(j) .lt. ta1) then 467 i=knindex(j) 468 print*, "tempsmoothlic", tempsmoothlic(i) 469 tempsmoothlic(i)=temp_air(j)*coef_tempsmooth+tempsmoothlic(i)*(1.-coef_tempsmooth) 470 if (tempsmoothlic(i) .lt. ta1) then 460 471 z0m(j) = z01 461 else if (temp _air(j).ge.ta1 .and. temp_air(j).lt.ta2) then462 z0m(j) = exp(coefa*temp _air(j) + coefb)463 else if (temp _air(j).ge.ta2 .and. temp_air(j).lt.ta3) then472 else if (tempsmoothlic(i).ge.ta1 .and. tempsmoothlic(i).lt.ta2) then 473 z0m(j) = exp(coefa*tempsmoothlic(i) + coefb) 474 else if (tempsmoothlic(i).ge.ta2 .and. tempsmoothlic(i).lt.ta3) then 464 475 ! if st > 0, melting induce smooth surface 465 z0m(j) = exp(coefc*temp _air(j) + coefd)476 z0m(j) = exp(coefc*tempsmoothlic(i) + coefd) 466 477 else 467 478 z0m(j) = z03
Note: See TracChangeset
for help on using the changeset viewer.