Definition at line 31 of file cpdgXs.f.
References csofstu(), d, d0, delta, eta1, eta2, lambda, lb, m, masd, maskc, masn, masp, maspic, masrho, and massigmam.
Referenced by cgpxs1(), ckmptotxs(), ckpntotxs(), ckpptotxs(), cnptotxs(), cpbarptotxs(), cpimptotxs(), cpipptotxs(), and cpptotxs().
34 character(*),
intent(in)::
a 37 character(*),
intent(in)::
b 70 *
'b ',
b,
' for csigma(a,b) is invalid' 73 case(
'pi+',
'pi-',
'pi0')
90 *
'b ',
b,
' for csigma(a,b) is invalid' 94 case(
'K+',
'K-',
'K0')
117 *
'b ',
b,
' for csigma(a,b) is invalid' 118 write(0,*)
' a is ',
a 131 *
'b ',
b,
' for csigma(a,b) is invalid' 132 write(0,*)
' a is ',
a 143 ans = (
z + lbt* (log(s/sm))**2)* delta
146 ans =
ans + y1*(sm/s)**eta1
154 ans = (
z + lambda* lbt* (log(s/sm))**2 )* delta
157 ans =
ans + y1*(sm/s)**eta1
165 ans = (
z + lbt* (log(s/sm))**2 )* delta**2
168 ans =
ans + y1*(sm/s)**eta1
172 *
'b ',
b,
' for csigma(a,b) is invalid' 173 write(0,*)
' a is ',
a 178 *
'a ',
a,
' for csigma(a,b) is invalid' 179 write(0,*)
' b is ',
b 182 ans =
z + lbt* (log(s/sm))**2 + y1*(sm/s)**eta1
183 if(
a ==
"pb" .or.
a ==
"pi-" .or.
a ==
"K-")
then 184 ans =
ans + y2*(sm/s)**eta2
186 ans =
ans - y2*(sm/s)**eta2
atmos%rho(atmos%nodes) **exp(-(z-atmos%z(atmos%nodes))/Hinf) elseif(z .lt. atmos%z(1)) then ans=atmos%rho(1) **exp((atmos%z(1) -z)/atmos%H(1)) else call kdwhereis(z, atmos%nodes, atmos%z, 1, i) a=atmos%a(i) if(a .ne. 0.d0) then ans=atmos%rho(i) **(1+a *(z-atmos%z(i))/atmos%H(i)) **(-1.0d0-1.d0/a) else ans=*atmos%rho(i) *exp(-(z-atmos%z(i))/atmos%H(i)) endif endif ! zsave=z ! endif cvh2den=ans end ! ---------------------------------- real *8 function cvh2temp(z) implicit none ! vettical height to temperatur(Kelvin) real *8 z ! input. vertical height in m ! output is temperature of the atmospher in Kelvin real *8 ans integer i if(z .gt. atmos%z(atmos%nodes)) then ans=atmos%T(atmos%nodes) elseif(z .lt. atmos%z(1)) then ans=atmos%T(1)+atmos%b(1) *(z - atmos%z(1)) else call kdwhereis(z, atmos%nodes, atmos%z, 1, i) ans=atmos%T(i)+atmos%b(i) *(z-atmos%z(i)) endif cvh2temp=ans end !--------------------------------------------- real *8 function cthick2h(t) implicit none real *8 t ! input. air thickness in kg/m^2 real *8 logt, ans integer i real *8 dod0, fd, a logt=log(t) if(t .ge. atmos%cumd(1)) then ans=atmos%z(1) - *(logt - atmos%logcumd(1)) *atmos%H(1) elseif(t .le. atmos%cumd(atmos%nodes)) then ans=atmos%z(atmos%nodes) - *Hinf *log(t/atmos%cumd(atmos%nodes)) else call kdwhereis(t, atmos%nodes, atmos%cumd, 1, i) ! i is such that X(i) > x >=x(i+1) ans
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
dE dx *! Nuc Int sampling table d
real(8) function, public csofstu(p, Mp, Mt)
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m