Skip to content

Commit 9a73dc0

Browse files
authored
Added analytic_sol_del221_whole_atmos_f569_r4
1 parent 7be1cab commit 9a73dc0

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

Radiolocation/GMS_emw_refraction.f90

+64
Original file line numberDiff line numberDiff line change
@@ -5227,4 +5227,68 @@ elemental function analytic_sol_del1_whole_atmos_f555_r4(fc,Nmf,delnA,z0,H10,Hc0
52275227
del1 = del11+del12
52285228
end function analytic_sol_del1_whole_atmos_f555_r4
52295229

5230+
elemental function analytic_sol_del1_whole_atmos_f555_r8(fc,Nmf,delnA,z0,H10,Hc0,beta,d) result(del1)
5231+
if defined(__INTEL_COMPILER) && !defined(__GNUC__)
5232+
!dir$ optimize:3
5233+
!dir$ attributes code_align : 32 :: analytic_sol_del1_whole_atmos_f555_r8
5234+
!dir$ attributes forceinline :: analytic_sol_del1_whole_atmos_f555_r8
5235+
#endif
5236+
5237+
real(kind=dp), intent(in) :: fc
5238+
real(kind=dp), intent(in) :: Nmf
5239+
real(kind=dp), intent(in) :: delnA
5240+
real(kind=dp), intent(in) :: z0
5241+
real(kind=dp), intent(in) :: H10
5242+
real(kind=dp), intent(in) :: Hc0
5243+
real(kind=dp), intent(in) :: beta
5244+
real(kind=dp), intent(in) :: d
5245+
real(kind=dp) :: del1
5246+
real(kind=dp), automatic :: del11, del12
5247+
del11 = analytic_sol_del11_whole_atmos_f559_r8(delnA,z0,H10,Hc0,beta)
5248+
del12 = analytic_sol_del12_whole_atmos_f560_r8(fc,Nmf,z0,H10,Hc0,beta,d)
5249+
del1 = del11+del12
5250+
end function analytic_sol_del1_whole_atmos_f555_r8
5251+
5252+
!Formula: 5.69, page: 108
5253+
elemental function analytic_sol_del221_whole_atmos_f569_r4(fc,Nmf,z0,H10,Hc0,beta,d) result(del221)
5254+
if defined(__INTEL_COMPILER) && !defined(__GNUC__)
5255+
!dir$ optimize:3
5256+
!dir$ attributes code_align : 32 :: analytic_sol_del221_whole_atmos_f569_r4
5257+
!dir$ attributes forceinline :: analytic_sol_del221_whole_atmos_f569_r4
5258+
#endif
5259+
!$omp declare simd(analytic_sol_del221_whole_atmos_f569_r4)
5260+
real(kind=sp), intent(in) :: fc
5261+
real(kind=sp), intent(in) :: Nmf
5262+
real(kind=sp), intent(in) :: z0
5263+
real(kind=sp), intent(in) :: H10
5264+
real(kind=sp), intent(in) :: Hc0
5265+
real(kind=sp), intent(in) :: beta
5266+
real(kind=sp), intent(in) :: d
5267+
real(kind=sp) :: del12
5268+
real(kind=sp), automatic :: delnM, HHc0
5269+
real(kind=sp), automatic :: HH10, ctgz0, scosz0
5270+
real(kind=sp), automatic :: rat1, rat2
5271+
real(kind=sp), automatic :: rat3, rat4
5272+
real(kind=sp), automatic :: t0, t1
5273+
real(kind=sp), automatic :: trm1, trm2
5274+
real(kind=sp), automatic :: trm3, trm4
5275+
HH10 = H10*H10
5276+
delnM = compute_delnM_f414_r4(fc,Nmf)
5277+
ctgz0 = 1.0_sp/tan(z0)
5278+
t0 = cos(z0)
5279+
scosz0= t0*t0
5280+
rat1 = (Hc0-H10)/d
5281+
HHc0 = Hc0*Hc0
5282+
rat2 = 1.0_sp+(H10/d)
5283+
rat3 = 1.0_sp+(H10/Hc0)
5284+
t0 = HHc0+Hc0*H10+HH10
5285+
rat4 = 1.0_sp+((Hc0+H10)/d)
5286+
t1 = 2.0_sp/(3.0_sp*Hc0*d)
5287+
trm1 = -delnM*(ctgz0/scosz0)*rat1
5288+
trm2 = 2.0_sp*rat1
5289+
trm3 = rat3*rat4
5290+
trm4 = t1*t0
5291+
del12 = trm1*trm2-trm3+trm4
5292+
end function analytic_sol_del221_whole_atmos_f569_r4
5293+
52305294
end module emw_refraction

0 commit comments

Comments
 (0)