- Timestamp:
- Jul 24, 2024, 2:54:37 PM (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_tso.f90
r5113 r5116 94 94 ! + ================== 95 95 96 integer:: ikl ,isl ,jsl ,ist !97 integer:: ist__s,ist__w ! Soil/Water Body Identifier98 integer:: islsgn ! Soil/Snow Surfac.Identifier99 real:: eps__3 ! Arbitrary Low Number100 real:: etaMid,psiMid ! Layer Interface's Humidity101 real:: mu_eta ! Soil thermal Conductivity102 real:: mu_exp ! arg Soil thermal Conductivity103 real:: mu_min ! Min Soil thermal Conductivity104 real:: mu_max ! Max Soil thermal Conductivity105 real:: mu_sno(knonv),mu_aux ! Snow thermal Conductivity106 real:: mu__dz(knonv,-nsol:nsno+1) ! mu_(eta,sno) / dz107 real:: dtC_sv(knonv,-nsol:nsno) ! dt / C108 real:: IRs__D(knonv) ! UpwardIR Previous Iter.Contr.109 real:: dIRsdT(knonv) ! UpwardIR T Derivat.110 real:: f_HSHL(knonv) ! Factor common to HS and HL111 real:: dRidTs(knonv) ! d(Rib)/d(Ts)112 real:: HS___D(knonv) ! Sensible Heat Flux Atm.Contr.113 real:: f___HL(knonv) !114 real:: HL___D(knonv) ! Latent Heat Flux Atm.Contr.96 INTEGER :: ikl ,isl ,jsl ,ist ! 97 INTEGER :: ist__s,ist__w ! Soil/Water Body Identifier 98 INTEGER :: islsgn ! Soil/Snow Surfac.Identifier 99 REAL :: eps__3 ! Arbitrary Low Number 100 REAL :: etaMid,psiMid ! Layer Interface's Humidity 101 REAL :: mu_eta ! Soil thermal Conductivity 102 REAL :: mu_exp ! arg Soil thermal Conductivity 103 REAL :: mu_min ! Min Soil thermal Conductivity 104 REAL :: mu_max ! Max Soil thermal Conductivity 105 REAL :: mu_sno(knonv),mu_aux ! Snow thermal Conductivity 106 REAL :: mu__dz(knonv,-nsol:nsno+1) ! mu_(eta,sno) / dz 107 REAL :: dtC_sv(knonv,-nsol:nsno) ! dt / C 108 REAL :: IRs__D(knonv) ! UpwardIR Previous Iter.Contr. 109 REAL :: dIRsdT(knonv) ! UpwardIR T Derivat. 110 REAL :: f_HSHL(knonv) ! Factor common to HS and HL 111 REAL :: dRidTs(knonv) ! d(Rib)/d(Ts) 112 REAL :: HS___D(knonv) ! Sensible Heat Flux Atm.Contr. 113 REAL :: f___HL(knonv) ! 114 REAL :: HL___D(knonv) ! Latent Heat Flux Atm.Contr. 115 115 REAL :: TSurf0(knonv),dTSurf ! Previous Surface Temperature 116 real:: qsatsg(knonv) !,den_qs,arg_qs ! Soil Saturat. Spec. Humidity117 real:: dqs_dT(knonv) ! d(qsatsg)/dTv118 real:: Psi( knonv) ! 1st Soil Layer Water Potential119 real:: RHuSol(knonv) ! Soil Surface Relative Humidity120 real:: etaSol ! Soil Surface Humidity121 real:: d__eta ! Soil Surface Humidity Increm.122 real:: Elem_A,Elem_C ! Diagonal Coefficients123 real:: Diag_A(knonv,-nsol:nsno) ! A Diagonal124 real:: Diag_B(knonv,-nsol:nsno) ! B Diagonal125 real:: Diag_C(knonv,-nsol:nsno) ! C Diagonal126 real:: Term_D(knonv,-nsol:nsno) ! Independant Term127 real:: Aux__P(knonv,-nsol:nsno) ! P Auxiliary Variable128 real:: Aux__Q(knonv,-nsol:nsno) ! Q Auxiliary Variable129 real:: Ts_Min,Ts_Max ! Temperature Limits116 REAL :: qsatsg(knonv) !,den_qs,arg_qs ! Soil Saturat. Spec. Humidity 117 REAL :: dqs_dT(knonv) ! d(qsatsg)/dTv 118 REAL :: Psi( knonv) ! 1st Soil Layer Water Potential 119 REAL :: RHuSol(knonv) ! Soil Surface Relative Humidity 120 REAL :: etaSol ! Soil Surface Humidity 121 REAL :: d__eta ! Soil Surface Humidity Increm. 122 REAL :: Elem_A,Elem_C ! Diagonal Coefficients 123 REAL :: Diag_A(knonv,-nsol:nsno) ! A Diagonal 124 REAL :: Diag_B(knonv,-nsol:nsno) ! B Diagonal 125 REAL :: Diag_C(knonv,-nsol:nsno) ! C Diagonal 126 REAL :: Term_D(knonv,-nsol:nsno) ! Independant Term 127 REAL :: Aux__P(knonv,-nsol:nsno) ! P Auxiliary Variable 128 REAL :: Aux__Q(knonv,-nsol:nsno) ! Q Auxiliary Variable 129 REAL :: Ts_Min,Ts_Max ! Temperature Limits 130 130 ! #e1 real Exist0 ! Existing Layer Switch 131 real:: psat_wat, psat_ice, sp ! computation of qsat132 133 integer:: nt_srf,it_srf,itEuBk ! HL: Surface Scheme131 REAL :: psat_wat, psat_ice, sp ! computation of qsat 132 133 INTEGER :: nt_srf,it_srf,itEuBk ! HL: Surface Scheme 134 134 parameter(nt_srf=10) ! 10 before 135 real:: agpsrf,xgpsrf,dt_srf,dt_ver !136 real:: etaBAK(knonv) !137 real:: etaNEW(knonv) !138 real:: etEuBk(knonv) !139 real:: fac_dt(knonv),faceta(knonv) !140 real:: PsiArg(knonv),SHuSol(knonv) !135 REAL :: agpsrf,xgpsrf,dt_srf,dt_ver ! 136 REAL :: etaBAK(knonv) ! 137 REAL :: etaNEW(knonv) ! 138 REAL :: etEuBk(knonv) ! 139 REAL :: fac_dt(knonv),faceta(knonv) ! 140 REAL :: PsiArg(knonv),SHuSol(knonv) ! 141 141 142 142 … … 436 436 * exp (6827.*(1. /273.16-1./TsisSV(ikl,isl))) 437 437 438 if(TsisSV(ikl,isl)<=273.16) then438 IF(TsisSV(ikl,isl)<=273.16) THEN 439 439 qsatsg(ikl) = 0.622 * psat_ice / (sp - 0.378 * psat_ice) 440 440 else … … 466 466 END DO 467 467 468 if(ist__s==1) then ! to reduce computer time468 IF(ist__s==1) then ! to reduce computer time 469 469 470 470 DO it_srf=1,nt_srf ! … … 615 615 TsisSV(ikl,isl) = Aux__Q(ikl,isl) *TsisSV(ikl,isl+1) & 616 616 +TsisSV(ikl,isl) 617 if(isl==0.and.isnoSV(ikl)==0) then 618 617 IF(isl==0.and.isnoSV(ikl)==0) THEN 619 618 TsisSV(ikl,isl) = min(TaT_SV(ikl)+30,TsisSV(ikl,isl)) 620 619 TsisSV(ikl,isl) = max(TaT_SV(ikl)-30,TsisSV(ikl,isl)) … … 673 672 674 673 675 end subroutinesisvat_tso674 END SUBROUTINE sisvat_tso
Note: See TracChangeset
for help on using the changeset viewer.