- Timestamp:
- Nov 19, 2021, 4:58:59 PM (3 years ago)
- Location:
- LMDZ6/branches/Ocean_skin
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Ocean_skin
- Property svn:mergeinfo changed
-
LMDZ6/branches/Ocean_skin/libf/phylmd/inlandsis/sisvat_qsn.F
r3792 r4013 61 61 use VARxSV 62 62 use VARySV 63 use surface_data, only: is_ok_slush,opt_runoff_ac 64 63 65 64 66 IMPLICIT NONE … … 235 237 236 238 DO ikl=1,knonv 237 DO isn=min(nsno,isnoSV(ikl)+1),1,-1 239 240 DO isn=min(nsno,isnoSV(ikl)+1),1,-1 238 241 ! EV DO isn=nsno,1,-1 239 242 C +--Energy, store Previous Content … … 243 246 . + ro__SV(ikl,isn) * Cn_dSV * dTSnow 244 247 . * dzsnSV(ikl,isn) 245 246 Tsave = TsisSV(ikl,isn)247 248 248 TsisSV(ikl,isn) = TfSnow 249 249 … … 312 312 rdzNEW = WaFrez + rdzsno 313 313 ro__SV(ikl,isn) = rdzNEW /max(epsi, dzsnSV(ikl,isn)) 314 315 ! EV: condition on Enfrez316 ! if (EnFrez .eq. 0.) then317 318 TsisSV(ikl,isn) = Tsave319 ! else320 314 TsisSV(ikl,isn) = TfSnow 321 315 . + EnFrez /(Cn_dSV *max(epsi, rdzNEW) ) 322 ! end if323 316 EExcsv(ikl) = EExcsv(ikl) - EnFrez 324 317 wer_SV(ikl) = WaFrez … … 499 492 rusnew = rusnSV(ikl) * SWf_SV(ikl) 500 493 501 if(isnoSV(ikl)<=1 ) rusnew = 0.494 if(isnoSV(ikl)<=1 .OR. opt_runoff_ac) rusnew = 0. 502 495 !if(ivgtSV(ikl)>=1) rusnew = 0. 503 496 504 497 c #EU rusnew = 0. 505 c #AC rusnew = 0. 498 c #AC rusnew = 0. 499 506 500 RnofSV(ikl) = RnofSV(ikl) 507 501 . +(rusnSV(ikl) - rusnew ) / dt__SV … … 545 539 ENDDO 546 540 547 C +--Slush Formation ( CAUTION: ADD RunOff Possibility before Activation)541 C +--Slush Formation (Activated. CAUTION: ADD RunOff Possibility before Activation) 548 542 C + --------------- ^^^^^^^ ^^^ 549 543 550 551 c #SU DO ikl=1,knonv 552 c #SU DO isn=1,isnoSV(ikl) 553 c #SU kSlush = min(1,max(0,isn+1-ispiSV(ikl))) ! Slush Switch 544 IF (is_ok_slush) THEN 545 546 DO ikl=1,knonv 547 DO isn=1,isnoSV(ikl) 548 kSlush = min(1,max(0,isn+1-ispiSV(ikl))) ! Slush Switch 554 549 555 550 C +--Available Additional Pore Volume [-] 556 551 C + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 557 c #SUPorVol = 1. - ro__SV(ikl,isn) ! [--]558 c #SU. *(1. - eta_SV(ikl,isn))/ ro_Ice !559 c #SU. - eta_SV(ikl,isn) !560 c #SU. *ro__SV(ikl,isn) / ro_Wat !561 c #SUPorVol = max(PorVol , zero ) !562 c #SUzWater = dzsnSV(ikl,isn) * PorVol * 1000. ! [mm] OR [kg/m2]563 c #SU. * (1. -SWS_SV(ikl) ! 0 <=> freezing564 c #SU. *(1 -min(1,iabs(isn-isnoSV(ikl))))) ! 1 <=> isn=isnoSV565 c #SUzSlush = min(rusnSV(ikl) , zWater) ! [mm] OR [kg/m2]566 c #SUro_new =(dzsnSV(ikl,isn) * ro__SV(ikl,isn) !567 c #SU. +zSlush ) !568 c #SU. / max(dzsnSV(ikl,isn) , epsi ) !569 c #SUif(ro_new<ro_Ice+20) then ! MAX 940kg/m3 !570 c #SUrusnSV(ikl) = rusnSV(ikl) - zSlush ! [mm] OR [kg/m2]571 c #SURuofSV(ikl,4)= max(0.,RuofSV(ikl,4) - zSlush/dt__SV)572 c #SUeta_SV(ikl,isn) =(ro_new - ro__SV(ikl,isn) !573 c #SU. *(1. - eta_SV(ikl,isn))) !574 c #SU. / max (ro_new , epsi ) !575 c #SUro__SV(ikl,isn) = ro_new !576 c #SUendif577 c #SUEND DO578 c #SUEND DO579 552 PorVol = 1. - ro__SV(ikl,isn) ! [--] 553 . *(1. - eta_SV(ikl,isn))/ ro_Ice ! 554 . - eta_SV(ikl,isn) ! 555 . *ro__SV(ikl,isn) / ro_Wat ! 556 PorVol = max(PorVol , zero ) ! 557 zWater = dzsnSV(ikl,isn) * PorVol * 1000. ! [mm] OR [kg/m2] 558 . * (1. -SWS_SV(ikl) ! 0 <=> freezing 559 . *(1 -min(1,iabs(isn-isnoSV(ikl))))) ! 1 <=> isn=isnoSV 560 zSlush = min(rusnSV(ikl) , zWater) ! [mm] OR [kg/m2] 561 ro_new =(dzsnSV(ikl,isn) * ro__SV(ikl,isn) ! 562 . +zSlush ) ! 563 . / max(dzsnSV(ikl,isn) , epsi ) ! 564 if(ro_new<ro_Ice+20) then ! MAX 940kg/m3 ! 565 rusnSV(ikl) = rusnSV(ikl) - zSlush ! [mm] OR [kg/m2] 566 RuofSV(ikl,4)= max(0.,RuofSV(ikl,4) - zSlush/dt__SV) 567 eta_SV(ikl,isn) =(ro_new - ro__SV(ikl,isn) ! 568 . *(1. - eta_SV(ikl,isn))) ! 569 . / max (ro_new , epsi ) ! 570 ro__SV(ikl,isn) = ro_new ! 571 endif 572 END DO 573 END DO 574 END IF 580 575 581 576 C +--Impact of the Sublimation/Deposition on the Surface Mass Balance
Note: See TracChangeset
for help on using the changeset viewer.