Changeset 2694 for trunk/LMDZ.GENERIC
- Timestamp:
- Jun 21, 2022, 11:05:32 AM (3 years ago)
- Location:
- trunk/LMDZ.GENERIC/libf/phystd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/evap_generic.F90
r2690 r2694 36 36 real zlvdcp 37 37 integer l,ig ! Used for loops on the layers and grid and the tracers respectively 38 38 39 ! Evaporate all the ice from the tracer 39 40 zlvdcp = RLVTT/cpp ! RLVTT is the latent heat of vaporization (comes from genericcommon_h attention) 41 40 42 DO l=1,nlayer 41 43 DO ig=1,ngrid … … 45 47 +pdq(ig,l,igcm_generic_ice)*dtime 46 48 tevap(ig,l) = pt(ig,l)+pdt(ig,l)*dtime 47 dqevap(ig,l) = max(0.,qevap(ig,l,igcm_generic_ice) /dtime)49 dqevap(ig,l) = max(0.,qevap(ig,l,igcm_generic_ice))/dtime 48 50 dtevap(ig,l) = -dqevap(ig,l)*zlvdcp 49 51 qevap(ig,l,igcm_generic_vap) = qevap(ig,l,igcm_generic_vap) & … … 54 56 ENDDO ! nlayer 55 57 56 57 58 end subroutine evap_generic 58 59 -
trunk/LMDZ.GENERIC/libf/phystd/genericcommon_h.F90
r2690 r2694 34 34 Tref = 2303.0 !K 35 35 Pref = 1.0E5 !in Pa 36 m = 24.3055 36 37 RLVTT = delta_vapH/(m/1000.) 37 38 metallicity_coeff=1.0*log(10.0) 38 m = 24.305539 39 40 else if (trim(specname) .eq. "Na") then 40 41 print*,"Loading data for Na" … … 42 43 Tref = 1624.0 43 44 Pref = 1.0E5 45 m = 22.9898 44 46 RLVTT = delta_vapH/(m/1000.) 45 47 metallicity_coeff=0.5*log(10.0) 46 m = 22.989848 47 49 else if (trim(specname) .eq. "Fe") then 48 50 print*,"Loading data for Fe" … … 50 52 Tref = 2903.0 51 53 Pref = 1.0E5 54 m = 55.8450 52 55 RLVTT = delta_vapH/(m/1000.) 53 56 metallicity_coeff=0.0*log(10.0) 54 m = 55.845057 55 58 else if (trim(specname) .eq. "Cr") then 56 59 print*,"Loading data for Cr" … … 58 61 Tref = 2749.0 59 62 Pref = 1.0E5 63 m = 51.9961 60 64 RLVTT = delta_vapH/(m/1000.) 61 65 metallicity_coeff=0.0*log(10.0) 62 m = 51.996166 63 67 else if (trim(specname) .eq. "KCl") then 64 68 print*,"Loading data for KCl" … … 68 72 metallicity_coeff=0.0*log(10.0) 69 73 m = 74.5498 74 RLVTT = delta_vapH/(m/1000.) 70 75 else if (trim(specname) .eq. "Mn") then 71 76 print*,"Loading data for Mn" … … 75 80 metallicity_coeff=1.0*log(10.0) 76 81 m = 54.9380 82 RLVTT = delta_vapH/(m/1000.) 77 83 else if (trim(specname) .eq. "Zn") then 78 84 print*,"Loading data for Zn" … … 82 88 metallicity_coeff=1.0*log(10.0) 83 89 m = 65.38 90 RLVTT = delta_vapH/(m/1000.) 84 91 else 85 92 print*,"Unknow species (not in Mg, Fe, Na, KCl, Cr, Mn or Zn)" -
trunk/LMDZ.GENERIC/libf/phystd/largescale_generic_mod.F90
r2690 r2694 78 78 pdqvaplsc(1:ngrid,1:nlayer) = 0.0 79 79 pdqliqlsc(1:ngrid,1:nlayer) = 0.0 80 Lcp=RLVTT/cpp81 80 igcm_generic_vap = -1 82 81 igcm_generic_ice = -1 … … 93 92 call specie_parameters(trim(adjustl(tname_vap(9:len(tname_ice)-4)))) 94 93 ! Evaporate generic clouds (all of them) 94 Lcp=RLVTT/cpp !need to be init here, otherwise we don't know RLVTT yet 95 95 call evap_generic(ngrid,nlayer,nq,ptimestep,pt,pq,pdq,pdt,& 96 96 igcm_generic_vap,igcm_generic_ice, & -
trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90
r2692 r2694 1556 1556 dqvaplscale_generic,dqcldlscale_generic) 1557 1557 pdt(1:ngrid,1:nlayer) = pdt(1:ngrid,1:nlayer)+dtlscale_generic(1:ngrid,1:nlayer) 1558 pdq(1:ngrid,1:nlayer,i g) = pdq(1:ngrid,1:nlayer,ig)+dtlscale_generic(1:ngrid,1:nlayer)1559 pdq(1:ngrid,1:nlayer,i g+1) = pdq(1:ngrid,1:nlayer,ig+1)+dqcldlscale_generic(1:ngrid,1:nlayer)1558 pdq(1:ngrid,1:nlayer,iq) = pdq(1:ngrid,1:nlayer,iq)+dtlscale_generic(1:ngrid,1:nlayer) 1559 pdq(1:ngrid,1:nlayer,iq+1) = pdq(1:ngrid,1:nlayer,iq+1)+dqcldlscale_generic(1:ngrid,1:nlayer) 1560 1560 !!!!huge assumption in the last line : ice tracer has index +1 of vap tracer 1561 1561 endif ! (is_generic(iq)==1 .and. (index(noms(iq),"vap")==1))
Note: See TracChangeset
for help on using the changeset viewer.