diff --git a/smrt/permittivity/ice.py b/smrt/permittivity/ice.py index b1eb0b0..5fbc70f 100644 --- a/smrt/permittivity/ice.py +++ b/smrt/permittivity/ice.py @@ -14,7 +14,7 @@ # local import # from ..core.error import SMRTError -from ..core.globalconstants import DENSITY_OF_ICE, FREEZING_POINT +from ..core.globalconstants import DENSITY_OF_ICE, FREEZING_POINT, C_SPEED from ..core.layer import layer_properties # @@ -75,6 +75,25 @@ def ice_permittivity_maetzler06(frequency, temperature): return Ereal + 1j * Eimag +@layer_properties("temperature") +def ice_permittivity_Cuzzi_et_al_1980(frequency,temperature=100): + ''' + From the theoritical curve at 100 K (Whalley and Labbe (1969)) for water ice + In Table 1 of DOI: 10.1016/0019-1035(80)90137-2 + + Used in Cuzzi et al., 1980 for modeling the thermal emission from C-ring particles at 2.2-cm wavelength. Therefore relevant for Enceladus like temperature + + ''' + if abs(temperature - 100) > 10: + raise SMRTError("ice_permittivity_Cuzzi_et_al_1980 valid only near 100 K") + + wavelength_in_cm = (C_SPEED/frequency)*100 #cm + refractive_index = 1.78+1j*(7.5e-5/wavelength_in_cm) + E_ice=refractive_index**2 + + return E_ice + + @layer_properties("temperature") def ice_permittivity_maetzler98(frequency, temperature): diff --git a/smrt/permittivity/test_ice.py b/smrt/permittivity/test_ice.py index 50f4fb8..1376bee 100644 --- a/smrt/permittivity/test_ice.py +++ b/smrt/permittivity/test_ice.py @@ -9,6 +9,7 @@ ice_permittivity_maetzler06, ice_permittivity_maetzler87, ice_permittivity_tiuri84, + ice_permittivity_Cuzzi_et_al_1980 ) # Input temperature array functionality removed. If ever needed, use numpy instead of math in ice.py, but slower. @@ -41,6 +42,7 @@ (_ice_permittivity_HUT, 10e9, 270, 3.18567, 8.86909246416410e-04, 1e-8, 1e-8), (_ice_permittivity_DMRTML, 10e9, 270, 3.18567, 9.0679820556720323e-04, 1e-8, 1e-8), (ice_permittivity_hufford91_maetzler87, 10e9, 270, 3.18567, 0.0009650945, 1e-8, 1e-8), + (ice_permittivity_Cuzzi_et_al_1980, 10e9, 100,3.1683999993, 8.906161341790659e-05, 1e-8, 1e-8), ], ) def test_ice_permittivity(permittivity_model, frequency, temperature, real, imag, ratol, iatol):