Changeset 5113 for LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis
- Timestamp:
- Jul 24, 2024, 1:17:08 PM (7 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/inlandsis.f90
r5105 r5113 336 336 337 337 data Z0mBS0 / 0.5e-6/ ! MINimum Snow Roughness Length 338 ! !for Momentum if Blowing Snow339 ! !Gallee et al. 2001 BLM 99 (19)338 ! for Momentum if Blowing Snow 339 ! Gallee et al. 2001 BLM 99 (19) 340 340 data Z0m_S0/ 0.00005/ ! MINimum Snow Roughness Length 341 ! !MegaDunes included341 ! MegaDunes included 342 342 data Z0m_S1/ 0.030 / ! MAXimum Snow Roughness Length 343 ! !(Sastrugis)343 ! (Sastrugis) 344 344 ! #GL data Z0_GIM/ 0.0013/ ! Ice Min Z0 = 0.0013 m (Broeke) 345 ! !Old Ice Z0 = 0.0500 m (Bruce)346 ! !0.0500 m (Smeets)347 ! !0.1200 m (Broeke)345 ! Old Ice Z0 = 0.0500 m (Bruce) 346 ! 0.0500 m (Smeets) 347 ! 0.1200 m (Broeke) 348 348 data Z0_ICE/ 0.0010/ ! Sea-Ice Z0 = 0.0010 m (Andreas) 349 ! !(Ice Station Weddel -- ISW)349 ! (Ice Station Weddel -- ISW) 350 350 ! for aerolian erosion 351 351 data SblPom/ 1.27/ ! Lower Boundary Height Parameter … … 436 436 437 437 rCd10n = 1. / 26.5 ! Vt / u*t = 26.5 438 ! !Budd et al. 1965, Antarct. Res. Series Fig.13439 ! !ratio developped during assumed neutral conditions438 ! Budd et al. 1965, Antarct. Res. Series Fig.13 439 ! ratio developped during assumed neutral conditions 440 440 441 441 … … 554 554 ! sss__G = 0.27417 * gravit 555 555 556 ! !______________ _____557 ! !Newton-Raphson (! Iteration, BEGIN)558 ! !~~~~~~~~~~~~~~ ~~~~~556 ! ______________ _____ 557 ! Newton-Raphson (! Iteration, BEGIN) 558 ! ~~~~~~~~~~~~~~ ~~~~~ 559 559 ! DO iit=1,nit 560 560 ! sss__K = gravit * r_Turb * A_Turb *za__SV(ikl) … … 580 580 ! us__SV(ikl)= max(us__SV(ikl),epsi ) 581 581 ! rCDmSV(ikl)= us__SV(ikl)/VVa_OK 582 ! !#AE sss__F = vonkar /rCDmSV(ikl)582 ! #AE sss__F = vonkar /rCDmSV(ikl) 583 583 ! ENDDO 584 584 585 ! !______________ ___586 ! !Newton-Raphson (! Iteration, END )587 ! !~~~~~~~~~~~~~~ ~~~585 ! ______________ ___ 586 ! Newton-Raphson (! Iteration, END ) 587 ! ~~~~~~~~~~~~~~ ~~~ 588 588 589 589 ! us_127 = exp( SblPom *log(us__SV(ikl))) 590 590 ! us_227 = us_127 * us__SV(ikl) 591 591 592 ! !Momentum Turbulent Scale u*: 0-Limit in case of no Blow. Snow593 ! !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~592 ! Momentum Turbulent Scale u*: 0-Limit in case of no Blow. Snow 593 ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 594 594 ! dusuth = us__SV(ikl) - usthSV(ikl) ! u* - uth* 595 595 ! signus = max(sign(unun,dusuth),zero) ! 1 <=> u* - uth* > 0 … … 664 664 if (is_ok_density_kotlyakov) then 665 665 tt_tmp = TaT_SV(ikl)-TfSnow 666 ! !vv_tmp = VV10SV(ikl)666 !vv_tmp = VV10SV(ikl) 667 667 vv_tmp=VV__SV(ikl) ! Etienne: use wind speed at first model level instead of 10m wind 668 668 ! + ... [ A compromise between … … 1004 1004 1005 1005 e_pRad = 2.5 * coszSV(ikl) ! exponential argument, 1006 ! !V/nIR radiation partitioning,1007 ! !DR97, 2, eqn (2.53) & (2.54)1006 ! V/nIR radiation partitioning, 1007 ! DR97, 2, eqn (2.53) & (2.54) 1008 1008 e1pRad = 1.-exp(-e_pRad) ! exponential, V/nIR Rad. Part. 1009 1009 exdRad= 1. … … 1186 1186 1187 1187 TBr_sv(ikl) =sqrt(sqrt(IRu_SV(ikl)/StefBo)) ! Brightness 1188 ! !Temperature1188 ! Temperature 1189 1189 uts_SV(ikl) = (HSv_sv(ikl) +HSs_sv(ikl)) & ! u*T* 1190 1190 /(rhT_SV(ikl) *cp) ! … … 1318 1318 ! + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1319 1319 A_Fact = 1.0000 ! Andreas et al., 2004, p.4 1320 ! !ams.confex.com/ams/pdfpapers/68601.pdf1320 ! ams.confex.com/ams/pdfpapers/68601.pdf 1321 1321 1322 1322 ! Parameterization of z0 dependance on Temperature (C. Amory, 2017) … … 1341 1341 Z0_obs = exp(coefa*TaT_SV(ikl) + coefb) 1342 1342 else if (TaT_SV(ikl)>=ta2 .and. TaT_SV(ikl)<ta3) then 1343 ! !if st > 0, melting induce smooth surface1343 ! if st > 0, melting induce smooth surface 1344 1344 Z0_obs = exp(coefc*TaT_SV(ikl) + coefd) 1345 1345 else -
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_bsn.f90
r5105 r5113 50 50 ! + ======= 51 51 52 ! !DO isn = nsno,2,-152 !DO isn = nsno,2,-1 53 53 DO ikl = 1,knonv 54 54 … … 70 70 /max(epsi,ro__SV(ikl,isn)) 71 71 72 ! !Densification of the uppermost snow layer if erosion:72 ! Densification of the uppermost snow layer if erosion: 73 73 if((dzweqo-dzweqn)>0 .and. & 74 74 dzsnSV(ikl,isn)>0 .and. & 75 75 ro__SV(ikl,max(1,isnoSV(ikl)))<roBdSV) then 76 76 77 ! !characteristic time scale for drifting snow compaction set to 24h78 ! !linear densification rate [kg/m3/s] over 24h77 !characteristic time scale for drifting snow compaction set to 24h 78 !linear densification rate [kg/m3/s] over 24h 79 79 densif = (450. - frsno) / (3600*24) 80 80 81 ! !Attenuation of compaction rate from 450 to 500 kg/m381 !Attenuation of compaction rate from 450 to 500 kg/m3 82 82 Fac = 1-((ro__SV(ikl,max(1,isnoSV(ikl))) & 83 83 -roBdSV)/(500.-roBdSV)) … … 103 103 104 104 END DO 105 ! !END DO105 !END DO 106 106 107 107 -
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_qsn.f90
r5105 r5113 73 73 ! #vm real EqSn01(knonv) ! Snow Energy, after Phase Change 74 74 ! #vm real EqSn02(knonv) ! Snow Energy, after Phase Change 75 ! !.AND. Last Melting75 ! .AND. Last Melting 76 76 ! #e1 real EqSn_1(knonv) ! Snow Energy, after Phase Change 77 ! !.AND. Mass Redistr.77 ! .AND. Mass Redistr. 78 78 ! Snow/Ice (Mass) Budget 79 79 ! ~~~~~~~~~~~~~~~~~~~~~~ … … 160 160 data dz_Min/2.5e-3/ ! Minim. Snow Layer Thickness 161 161 data SGDmax/0.003/ ! Maxim. Snow Grain Diameter [m] 162 ! !(Rowe et al. 1995, JGR p.16268)162 ! (Rowe et al. 1995, JGR p.16268) 163 163 164 164 ! +--Energy Budget (IN) … … 206 206 noSnow(ikl) = 0 ! Nb of Layers Updater 207 207 ispiSV(ikl) = 0 ! Pore Hole Close OFF Index 208 ! !(assumed to be the Top of209 ! !the surimposed Ice Layer)208 ! (assumed to be the Top of 209 ! the surimposed Ice Layer) 210 210 zn5_SV(ikl) = 0. 211 211 rusnSV0(ikl) = 0. … … 493 493 494 494 if(isnoSV(ikl)<=1 .OR. opt_runoff_ac) rusnew = 0. 495 ! !if(ivgtSV(ikl)>=1) rusnew = 0.495 !if(ivgtSV(ikl)>=1) rusnew = 0. 496 496 497 497 ! #EU rusnew = 0. -
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_sno_albedo.f90
r5105 r5113 253 253 254 254 dalbeW =(0.64 - csegal )*0.0625 ! Warren 1982, RevGeo, fig.12b 255 ! !0.0625 = 5% * 1/0.8, p.81256 ! !0.64 = cos(50)255 ! 0.0625 = 5% * 1/0.8, p.81 256 ! 0.64 = cos(50) 257 257 dalbed = dalbeW * min(1,isnoSV(ikl)) 258 258 !------------------------------------------------------------------------- … … 276 276 albSn6(4:6)=albSn2 277 277 278 ! !snow albedo corection if wetsnow278 !snow albedo corection if wetsnow 279 279 ! #GL albSn1 = albSn1*max(0.9,(1.-1.5*eta_SV(ikl,isn))) 280 280 ! #GL albSn2 = albSn2*max(0.9,(1.-1.5*eta_SV(ikl,isn))) … … 410 410 ! +--Integrated Snow/Ice/Soil Albedo: Clouds Correction! Greuell & all., 1994 411 411 ! + --------------------------------------------------! Glob.&t Planet.Change 412 ! !(9):91-114412 ! (9):91-114 413 413 alb1sv(ikl) = alb1sv(ikl) + 0.05 *(cld_SV(ikl)-0.5)*SIcenH & 414 414 + dalbed * (1.-cld_SV(ikl)) … … 460 460 !AO_CK 20/02/2020 461 461 462 ! !No check if coupling update since MAR and NEMO albedo are too different462 ! No check if coupling update since MAR and NEMO albedo are too different 463 463 ! and since MAR albedo is computed on properties that are not in NEMO 464 ! !prescription for each time step with NEMO values464 ! prescription for each time step with NEMO values 465 465 466 466 ! #AO if (LSmask(ikl) .eq. 0 .and. coupling_ao .eq. .TRUE.) then … … 511 511 DO ikl=1,knonv 512 512 sEX_sv(ikl,isn) = 1.0 513 ! !sEX_sv(ikl,isn) = 0.95 ! if MAR is too warm in summer513 !sEX_sv(ikl,isn) = 0.95 ! if MAR is too warm in summer 514 514 END DO 515 515 END DO -
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_ts2.f90
r5105 r5113 265 265 IRs__D(ig) = dIRsdT(ig)* TsisSV(ig, isl) * 0.75 !: 266 266 END DO 267 ! !hj267 !hj 268 268 !!----------------------------------------------------------------------- 269 269 !! 3) … … 370 370 zx_qs = r2es * FOEEW(Tsf_SV(ig), zdelta) / ps__SV(ig) 371 371 zx_qs = MIN(0.5, zx_qs) 372 ! !write(*,*)'zcor',retv*zx_qs372 !write(*,*)'zcor',retv*zx_qs 373 373 zcor = 1. / (1. - retv * zx_qs) 374 374 zx_qs = zx_qs * zcor -
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_tso.f90
r5105 r5113 372 372 ! + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 373 373 374 ! !EV!isl= min(isnoSV(1)+1,nsno)374 !EV!isl= min(isnoSV(1)+1,nsno) 375 375 376 376 DO ikl=1,knonv … … 426 426 ! sp = (pst_SV(ikl) + ptopSV) * 10. 427 427 428 ! !sp=ps__SV(ikl)429 ! !Etienne: in the formula herebelow sp should be in hPa, not430 ! !in Pa so I divide by 100.428 !sp=ps__SV(ikl) 429 ! Etienne: in the formula herebelow sp should be in hPa, not 430 ! in Pa so I divide by 100. 431 431 sp=ps__SV(ikl)/100. 432 432 psat_ice = 6.1070 * exp(6150. *(1./273.16 - & … … 476 476 ! ! by Atm.Conten 477 477 ! #??. *max(0,sign(1.,qsatsg(ikl)-QaT_SV(ikl)))) ! NO Limitation 478 ! !of Downw.Flux478 ! of Downw.Flux 479 479 END DO ! 480 480 DO itEuBk=1,2 ! … … 522 522 ist__w= 1-ist__s ! 1 if H2O 523 523 d__eta = eta_SV(ikl,isl)-etaNEW(ikl) ! 524 ! !latent heat flux computation524 ! latent heat flux computation 525 525 HL___D(ikl)=( ist__s *ro_Wat *dz_dSV(0) & ! Soil Contrib. 526 526 *(etaNEW(ikl) -etaBAK(ikl)) / dt__SV & ! … … 623 623 ! #EU TsisSV(ikl,isl) = max(TaT_SV(ikl)-15.,TsisSV(ikl,isl)) 624 624 625 ! !XF 18/11/2018 to avoid ST reaching 70°C!!626 ! !It is an error compensation but does not work over tundra625 !XF 18/11/2018 to avoid ST reaching 70°C!! 626 !It is an error compensation but does not work over tundra 627 627 628 628 endif -
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_zsn.f90
r5105 r5113 140 140 DO ikl=1,knonv 141 141 DO isn=1,isnoSV(ikl)-3 ! no agregation of 3 first snowlayers 142 ! !XF 04/07/2019142 ! XF 04/07/2019 143 143 144 144 isno_n = isnoSV(ikl)-isn+1 ! Snow Normal.Profile … … 526 526 DO ikl=1,knonv 527 527 DO isn=1,isnoSV(ikl)-3 ! no agregation of 3 first snowlayers 528 ! !XF 04/07/2019528 ! XF 04/07/2019 529 529 530 530 isno_n = isnoSV(ikl)-isn+1 ! Snow Normal.Profile -
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/surf_inlandsis_mod.F90
r5110 r5113 783 783 min_period = 1800. ! en secondes 784 784 dalph_soil = 2. ! rapport entre les epaisseurs de 2 couches succ. 785 ! !$OMP MASTER785 !$OMP MASTER 786 786 ! IF (is_mpi_root) THEN 787 787 ! OPEN(99,file='soil.def',status='old',form='formatted',iostat=ierr) … … 795 795 ! END IF 796 796 ! ENDIF 797 ! !$OMP END MASTER797 !$OMP END MASTER 798 798 ! CALL bcast(min_period) 799 799 ! CALL bcast(dalph_soil)
Note: See TracChangeset
for help on using the changeset viewer.