diff --git a/CMakeLists.txt b/CMakeLists.txt
index ca2ea182bd1780e1c5b3d08f99af8ebe6b055539..6fada96cb90b61158bb5e78ecfef54c6a5e78318 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,7 @@ init_project ()
 
 project (
 	ITAPropagationModels
-	VERSION 2023.0
+	VERSION 2023.1
 	LANGUAGES CXX C
 )
 
diff --git a/src/ITAPropagationModels/Atmosphere/AirAttenuation.cpp b/src/ITAPropagationModels/Atmosphere/AirAttenuation.cpp
index a511dfcfa05dce6036a3a4576483843492307b63..c1181c0c594c423d26335776d0c18f7c8a596b42 100644
--- a/src/ITAPropagationModels/Atmosphere/AirAttenuation.cpp
+++ b/src/ITAPropagationModels/Atmosphere/AirAttenuation.cpp
@@ -29,12 +29,15 @@ void Atmosphere::AirAttenuationSpectrum( ITABase::CThirdOctaveFactorMagnitudeSpe
 	{
 		const int idxNext = std::min( idxCurrent + iDownSamplingFactor, oRay.NumPoints( ) - 1 );
 
-		const float fAltitude = std::abs( oRay[idxCurrent].position[Vista::Z] );
-		const float fDistance = ( oRay[idxNext].position - oRay[idxCurrent].position ).GetLength( );
+		const double dAltitude = (double)std::abs( oRay[idxCurrent].position[Vista::Z] );
+		const double dDistance = (double)( oRay[idxNext].position - oRay[idxCurrent].position ).GetLength( );
+
+		const double dTemperaturCelsius = oAtmosphere.Temperature( dAltitude ) - 273.15;  //�C
+		const double dRelativeHumidity  = oAtmosphere.RelativeHumidity( dAltitude );      // %
+		const double dStaticPressure    = oAtmosphere.StaticPressure( dAltitude ) / 1000; // kPA
 
 		ITABase::CThirdOctaveDecibelMagnitudeSpectrum oTmpSpectrum;
-		ITABase::ISO9613::AtmosphericAbsorption( oTmpSpectrum, fDistance, oAtmosphere.Temperature( fAltitude ), oAtmosphere.RelativeHumidity( fAltitude ),
-		                                         oAtmosphere.StaticPressure( fAltitude ) );
+		ITABase::ISO9613::AtmosphericAbsorption( oTmpSpectrum, dDistance, dTemperaturCelsius, dRelativeHumidity, dStaticPressure );
 
 		oTotalDecibelSpectrum.Add( oTmpSpectrum );
 	}
diff --git a/src/ITAPropagationModels/FilterEngine.cpp b/src/ITAPropagationModels/FilterEngine.cpp
index a0ebdf460e2c47136cf7fe837c329c7fbd410bd6..98bfc164ab33b7f89b666f8712ea54ed83e16cfe 100644
--- a/src/ITAPropagationModels/FilterEngine.cpp
+++ b/src/ITAPropagationModels/FilterEngine.cpp
@@ -211,10 +211,6 @@ void CFilterEngine::Generate( const ITAGeo::CPropagationPathList& oPathList, ITA
 		{
 			// Air attenuation according to ISO9613-1 (overrides third octaves, so no resetting required, do not change order!)
 			ITABase::ISO9613::AtmosphericAbsorption( oThirdOctFactors, (float)dPathLength, oEnvironmentState.dTemperature, oEnvironmentState.dHumidity );
-
-			// Multiply the transmissionfactor of the air attenuation alpha: sqrt(1-|alpha|)
-			for( int iFrequencyIndex = 0; iFrequencyIndex < oThirdOctFactors.GetNumBands( ); iFrequencyIndex++ )
-				oThirdOctFactors[iFrequencyIndex] *= sqrt( 1 - abs( oThirdOctFactors[iFrequencyIndex] ) );
 		}
 
 		// Process path and assemble filter components domain by domain