Changeset 3663
- Timestamp:
- Feb 27, 2025, 7:03:20 PM (4 months ago)
- Location:
- trunk/LMDZ.GENERIC
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/changelog.txt
r3662 r3663 2022 2022 Minor changing for the virtual potential temperature correction. 2023 2023 And convadj.F becomes convadj.F90 . 2024 2025 == 27/02/2025 == GM 2026 2027 Cleaning up the code. The gas constant and Avogadro number values 2028 was not the same between the files in the model. 2029 We choose the value recommended by the 2019 revision of the SI. 2030 R=8.314463 J.K-1.mol-1 and NA=6.022141e23 mol-1. -
trunk/LMDZ.GENERIC/libf/phystd/aeropacity.F90
r2899 r3663 724 724 ! p_bot <=> zb ; p_top <=> zb+zc ; h_bot <=> Hlo ; h_top <=> Hup 725 725 ! p<p_top: N=No*(p/p_top)**(h_lay/h_top) h_lay=RT/g (in m) 726 ! p>p_bot: N=No*(p_bot/p)**(h_lay/h_bot) R=8.31 /mu (mu in kg/mol)726 ! p>p_bot: N=No*(p_bot/p)**(h_lay/h_bot) R=8.314463/mu (mu in kg/mol) 727 727 ! N is in m-3 728 728 ! … … 745 745 DO l=1,nlayer-1 746 746 747 h_lay=8.31 *pt(ig,l)/(g*0.044)747 h_lay=8.314463*pt(ig,l)/(g*0.044) 748 748 749 749 !! 1. below 2e5 Pa: no aerosols … … 791 791 DO l=1,nlayer-1 792 792 793 h_lay=8.31 *pt(ig,l)/(g*0.044)793 h_lay=8.314463*pt(ig,l)/(g*0.044) 794 794 795 795 !! 1. below 2e5 Pa: no aerosols … … 837 837 DO l=1,nlayer-1 838 838 839 h_lay=8.31 *pt(ig,l)/(g*0.044)839 h_lay=8.314463*pt(ig,l)/(g*0.044) 840 840 841 841 !! 1. below 2e5 Pa: no aerosols … … 883 883 DO l=1,nlayer-1 884 884 885 h_lay=8.31 *pt(ig,l)/(g*0.044)885 h_lay=8.314463*pt(ig,l)/(g*0.044) 886 886 887 887 !! 1. below 2e5 Pa: no aerosols … … 929 929 DO l=1,nlayer-1 930 930 931 h_lay=8.31 *pt(ig,l)/(g*0.044)931 h_lay=8.314463*pt(ig,l)/(g*0.044) 932 932 933 933 !! 1. below 7e4 Pa: no aerosols … … 975 975 ! ig=10 976 976 ! do l=1,nlayer 977 ! print*,8.31 *pt(ig,l)/(g*0.044),pplay(ig,l),aerosol(ig,l,1),aerosol(ig,l,2),aerosol(ig,l,3),aerosol(ig,l,4)977 ! print*,8.314463*pt(ig,l)/(g*0.044),pplay(ig,l),aerosol(ig,l,1),aerosol(ig,l,2),aerosol(ig,l,3),aerosol(ig,l,4) 978 978 ! print*,l,pplay(ig,l),aerosol(ig,l,5) 979 979 ! enddo -
trunk/LMDZ.GENERIC/libf/phystd/blackl.F
r3654 r3663 4 4 5 5 ! physical constants 6 sigma=5.6703 2D-86 sigma=5.670374D-8 7 7 pi=datan(1.d0)*4.d0 8 c0=2.9979 d+089 h=6.626 2d-3410 cbol=1.3806 d-238 c0=2.997925d+08 9 h=6.62607d-34 10 cbol=1.380649d-23 11 11 rind=1.d0 12 12 c=c0/rind … … 26 26 27 27 ! physical constants 28 sigma=5.6703 2D-828 sigma=5.670374D-8 29 29 pi=datan(1.d0)*4.d0 30 c0=2.9979 d+0831 h=6.626 2d-3432 cbol=1.3806 d-2330 c0=2.997925d+08 31 h=6.62607d-34 32 cbol=1.380649d-23 33 33 rind=1.d0 34 34 c=c0/rind -
trunk/LMDZ.GENERIC/libf/phystd/calc_rayleigh.F90
r3654 r3663 188 188 P0(:) = pmid(:)*scalep 189 189 lr = 0.589 190 rho(:) = mass_frac(igas,:)*muvar(:)/massmol(igas)*P0(:)/(8.31446 2*T0(:)/muvar(:)/1000.)190 rho(:) = mass_frac(igas,:)*muvar(:)/massmol(igas)*P0(:)/(8.314463*T0(:)/muvar(:)/1000.) 191 191 rhos(:) = rho(:)/rhor 192 192 ts(:) = T0(:)/Tr … … 258 258 endif 259 259 260 tauconsti(igas,:) = 24.*pi**3 *6.02214 0857E+023 / (g*(muvar(:)/1000.)*(P0(:)/(1.380648813E-23*T0(:)))**2)260 tauconsti(igas,:) = 24.*pi**3 *6.022141E+023 / (g*(muvar(:)/1000.)*(P0(:)/(1.380649E-23*T0(:)))**2) 261 261 ! N=P/(kB*T) 262 262 ! pmid*scalep -> mbar to Pa -
trunk/LMDZ.GENERIC/libf/phystd/comcstfi_mod.F90
r1524 r3663 5 5 REAL,SAVE :: rad ! radius of the planet (m) 6 6 REAL,SAVE :: g ! gravity (m/s2) 7 REAL,SAVE :: r ! reduced gas constant (r=8.314 511/(mugaz/1000.0))7 REAL,SAVE :: r ! reduced gas constant (r=8.314463/(mugaz/1000.0)) 8 8 REAL,SAVE :: cpp ! Cp of the atmosphere 9 9 REAL,SAVE :: rcp ! r/cpp 10 10 REAL,SAVE :: mugaz ! molar mass of the atmosphere (g/mol) 11 11 REAL,SAVE :: omeg ! planet rotation rate (rad/s) 12 REAL,SAVE :: avocado ! something like 6.022e2312 REAL,SAVE :: avocado ! 6.022141e23 13 13 !$OMP THREADPRIVATE(pi,rad,g,r,cpp,rcp,mugaz,omeg,avocado) 14 14 -
trunk/LMDZ.GENERIC/libf/phystd/dyn1d/phasechange_kcm.F90
r1403 r3663 1254 1254 ! 1255 1255 ! The specific gas constant R is related to the universal gas 1256 ! constant R-bar = 8.3144 1J/(mol degrees Kelvin) by the molar mass1256 ! constant R-bar = 8.314463 J/(mol degrees Kelvin) by the molar mass 1257 1257 ! M = 18.0152 g/mol: 1258 1258 ! -
trunk/LMDZ.GENERIC/libf/phystd/dyn1d/rcm1d.F
r3576 r3663 659 659 PRINT *,"--> mugaz = ",mugaz 660 660 PRINT *,"--> cpp = ",cpp 661 r = 8.314 511E+0 * 1000.E+0 / mugaz661 r = 8.314463E+0 * 1000.E+0 / mugaz 662 662 rcp = r / cpp 663 663 -
trunk/LMDZ.GENERIC/libf/phystd/inifis_mod.F90
r3662 r3663 92 92 r=pr 93 93 rcp=r/cpp 94 mugaz=8.314 *1000./pr ! dummy init94 mugaz=8.314463*1000./pr ! dummy init 95 95 pi=2.*asin(1.) 96 avocado = 6.022141 79e23 ! added by RW96 avocado = 6.022141e23 ! added by RW 97 97 98 98 ! Initialize some "temporal and calendar" related variables -
trunk/LMDZ.GENERIC/libf/phystd/interpolateH2O_self_foreign.F90
r2662 r3663 34 34 35 35 double precision kB 36 parameter(kB=1.38064 88e-23)36 parameter(kB=1.380649e-23) 37 37 38 38 double precision amagatS, amagatF, abcoefS, abcoefF, Nmolec -
trunk/LMDZ.GENERIC/libf/phystd/newsedim.F
r3360 r3663 146 146 ! - Constant to compute gas mean free path 147 147 ! l= (T/P)*a, avec a = ( 0.707*8.31/(4*pi*molrad**2 * avogadro)) 148 a = 0.707*8.31 /(4*3.1416* molrad**2 * 6.023e23)148 a = 0.707*8.314463/(4*3.1416* molrad**2 * 6.022141e23) 149 149 150 150 c - Correction to account for non-spherical shape (Murphy et al. 1990) -
trunk/LMDZ.GENERIC/libf/phystd/optci.F90
r3641 r3663 154 154 ! if we have continuum opacities, we need dz 155 155 if(kastprof)then 156 dz(k) = dpr(k)*(1000.0d0*8.314 5d0/muvar(k))*TMID(K)/(g*PMID(K))156 dz(k) = dpr(k)*(1000.0d0*8.314463d0/muvar(k))*TMID(K)/(g*PMID(K)) 157 157 U(k) = Cmk*DPR(k)*mugaz/muvar(k) 158 158 else -
trunk/LMDZ.GENERIC/libf/phystd/optcv.F90
r3654 r3663 140 140 ! if we have continuum opacities, we need dz 141 141 if(kastprof)then 142 dz(k) = dpr(k)*(1000.0d0*8.314 5d0/muvar(k))*TMID(K)/(g*PMID(K))142 dz(k) = dpr(k)*(1000.0d0*8.314463d0/muvar(k))*TMID(K)/(g*PMID(K)) 143 143 U(k) = Cmk*DPR(k)*mugaz/muvar(k) 144 144 else -
trunk/LMDZ.GENERIC/libf/phystd/params_h.F90
r716 r3663 12 12 save ideal_v 13 13 14 parameter (rc = 8.31446 2d0) ! ideal gas constant [J mol^-1 K^-1]14 parameter (rc = 8.314463d0) ! ideal gas constant [J mol^-1 K^-1] 15 15 16 16 end module params_h -
trunk/LMDZ.GENERIC/libf/phystd/stokes.F90
r1384 r3663 49 49 50 50 51 a = 0.707*8.31 /(4*pi*molrad**2 * avocado)51 a = 0.707*8.314463/(4.*pi*molrad**2 * avocado) 52 52 b = (2./9.) * rho_aer * g / visc 53 53 !print*,'molrad=',molrad -
trunk/LMDZ.GENERIC/libf/phystd/tabfi_mod.F90
r3552 r3663 105 105 call abort_physic(modname,"Missing value for omega in def files!",1) 106 106 endif 107 mugaz=(8.31446 21/r)*1.E3107 mugaz=(8.314463/r)*1.E3 108 108 ! daysec already set by inifis 109 109 ! dtphys alread set by inifis … … 180 180 mugaz = tab_cntrl(tab0+8) 181 181 rcp = tab_cntrl(tab0+9) 182 cpp=(8.314 511/(mugaz/1000.0))/rcp182 cpp=(8.314463/(mugaz/1000.0))/rcp 183 183 daysec = tab_cntrl(tab0+10) 184 184 dtphys = tab_cntrl(tab0+11) … … 455 455 write(*,*) 456 456 write(*,*) ' mugaz (new value):',mugaz 457 r=8.314 511/(mugaz/1000.0)457 r=8.314463/(mugaz/1000.0) 458 458 write(*,*) ' R (new value):',r 459 459 … … 465 465 write(*,*) 466 466 write(*,*) ' rcp (new value):',rcp 467 r=8.314 511/(mugaz/1000.0)467 r=8.314463/(mugaz/1000.0) 468 468 cpp=r/rcp 469 469 write(*,*) ' cpp (new value):',cpp … … 477 477 write(*,*) ' cpp (new value):',cpp 478 478 write(*,*) ' mugaz (new value):',mugaz 479 r=8.314 511/(mugaz/1000.0)479 r=8.314463/(mugaz/1000.0) 480 480 rcp=r/cpp 481 481 write(*,*) ' rcp (new value):',rcp -
trunk/LMDZ.GENERIC/libf/phystd/thermcell_env.F90
r3435 r3663 132 132 ENDDO 133 133 134 RV_generic = (8.314 511*1000.)/(epsi_generic*mugaz)134 RV_generic = (8.314463*1000.)/(epsi_generic*mugaz) 135 135 RETV_generic = RV_generic/r-1. 136 136 RLvCp_generic = RLVTT_generic/cpp -
trunk/LMDZ.GENERIC/libf/phystd/thermcell_plume.F90
r3435 r3663 144 144 RLvCp_comp = RLvCp 145 145 ELSEIF (generic_condensation .AND. .NOT. water ) THEN 146 RV_generic = (8.314 511*1000.)/(epsi_generic*mugaz)146 RV_generic = (8.314463*1000.)/(epsi_generic*mugaz) 147 147 RETV_comp = RV_generic/r-1. 148 148 RLvCp_comp = RLVTT_generic/cpp -
trunk/LMDZ.GENERIC/libf/phystd/watercommon_h.F90
r3655 r3663 49 49 50 50 !RW = 1000.*R/mH2O 51 RW = 1000.*8.314 /mH2O ! caution! R is R/mugaz already!51 RW = 1000.*8.314463/mH2O ! caution! R is R/mugaz already! 52 52 53 53 RCPV = 1.88e3 ! specific heat capacity of water vapor at 350K
Note: See TracChangeset
for help on using the changeset viewer.