Skip to content

Commit 1712c25

Browse files
authored
Added analytic_sol_del12_whole_atmos_f560_r4
1 parent 86158ea commit 1712c25

File tree

1 file changed

+68
-1
lines changed

1 file changed

+68
-1
lines changed

Radiolocation/GMS_emw_refraction.f90

+68-1
Original file line numberDiff line numberDiff line change
@@ -5095,7 +5095,74 @@ elemental function analytic_sol_del11_whole_atmos_f559_r4(delnA,z0,H10,Hc0,beta)
50955095
del11 = trm1*trm2
50965096
end function analytic_sol_del11_whole_atmos_f559_r4
50975097

5098+
elemental function analytic_sol_del11_whole_atmos_f559_r8(delnA,z0,H10,Hc0,beta) result(del11)
5099+
if defined(__INTEL_COMPILER) && !defined(__GNUC__)
5100+
!dir$ optimize:3
5101+
!dir$ attributes code_align : 32 :: analytic_sol_del11_whole_atmos_f559_r8
5102+
!dir$ attributes forceinline :: analytic_sol_del11_whole_atmos_f559_r8
5103+
#endif
5104+
!$omp declare simd(analytic_sol_del11_whole_atmos_f559_r8)
5105+
real(kind=dp), intent(in) :: delnA
5106+
real(kind=dp), intent(in) :: z0
5107+
real(kind=dp), intent(in) :: H10
5108+
real(kind=dp), intent(in) :: Hc0
5109+
real(kind=dp), intent(in) :: beta
5110+
real(kind=dp) :: del11
5111+
real(kind=dp), automatic :: tgz0, H10Hc0
5112+
real(kind=dp), automatic :: btH10, exp1
5113+
real(kind=dp), automatic :: btHc0, rat
5114+
real(kind=dp), automatic :: trm1, trm2
5115+
real(kind=dp), automatic :: exp2
5116+
btH10 = beta*H10
5117+
H10Hc0 = H10/Hc0
5118+
tgz0 = tan(z0)
5119+
btHc0 = beta*Hc0
5120+
exp1 = exp(-btH10)
5121+
exp2 = (1.0_dp-exp1)/btHc0
5122+
rat = 1.0_dp*(1.0_dp-H10Hc0)
5123+
trm1 = delnA*tgz0
5124+
trm2 = rat*exp1-exp2
5125+
del11 = trm1*trm2
5126+
end function analytic_sol_del11_whole_atmos_f559_r8
50985127

5099-
5128+
!Formula: 5.60, page: 107
5129+
elemental function analytic_sol_del12_whole_atmos_f560_r4(fc,Nmf,z0,H10,Hc0,beta,d) result(del12)
5130+
if defined(__INTEL_COMPILER) && !defined(__GNUC__)
5131+
!dir$ optimize:3
5132+
!dir$ attributes code_align : 32 :: analytic_sol_del12_whole_atmos_f560_r4
5133+
!dir$ attributes forceinline :: analytic_sol_del12_whole_atmos_f560_r4
5134+
#endif
5135+
!$omp declare simd(analytic_sol_del12_whole_atmos_f560_r4)
5136+
real(kind=sp), intent(in) :: fc
5137+
real(kind=sp), intent(in) :: Nmf
5138+
real(kind=sp), intent(in) :: z0
5139+
real(kind=sp), intent(in) :: H10
5140+
real(kind=sp), intent(in) :: Hc0
5141+
real(kind=sp), intent(in) :: beta
5142+
real(kind=sp), intent(in) :: d
5143+
real(kind=sp) :: del12
5144+
real(kind=sp), automatic :: delnM, HHc0
5145+
real(kind=sp), automatic :: HH10, tgz0
5146+
real(kind=sp), automatic :: rat1, rat2
5147+
real(kind=sp), automatic :: rat3, rat4
5148+
real(kind=sp), automatic :: t0, t1
5149+
real(kind=sp), automatic :: trm1, trm2
5150+
real(kind=sp), automatic :: trm3, trm4
5151+
HH10 = H10*H10
5152+
delnM = compute_delnM_f414_r4(fc,Nmf)
5153+
tgz0 = tan(z0)
5154+
rat1 = (Hc0-H10)/d
5155+
HHc0 = Hc0*Hc0
5156+
rat2 = 1.0_sp+(H10/d)
5157+
rat3 = 1.0_sp+(H10/Hc0)
5158+
t0 = HHc0+Hc0*H10+HH10
5159+
rat4 = 1.0_sp+((Hc0+H10)/d)
5160+
t1 = 2.0_sp/(3.0_sp*Hc0*d)
5161+
trm1 = delnM*tgz0*rat1
5162+
trm2 = 2.0_sp*rat1
5163+
trm3 = rat3*rat4
5164+
trm4 = t1*t0
5165+
del12 = trm1*trm2-trm3+trm4
5166+
end function analytic_sol_del12_whole_atmos_f560_r4
51005167

51015168
end module emw_refraction

0 commit comments

Comments
 (0)