<s> import pvl_tools <EOL> import numpy as np <EOL> def pvl_physicaliam ( K , L , n , theta ) : <EOL> '''<STR_LIT>''' <EOL> Vars = locals ( ) <EOL> Expect = { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:L>' : '<STR_LIT>' , <EOL> '<STR_LIT:n>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> var = pvl_tools . Parse ( Vars , Expect ) <EOL> if any ( ( var . theta < <NUM_LIT:0> ) | ( var . theta >= <NUM_LIT> ) ) : <EOL> print ( '<STR_LIT>' + '<STR_LIT>' + '<STR_LIT>' ) <EOL> var . theta [ ( var . theta < <NUM_LIT:0> ) | ( var . theta >= <NUM_LIT> ) ] = abs ( ( var . theta < <NUM_LIT:0> ) | ( var . theta >= <NUM_LIT> ) ) <EOL> thetar_deg = pvl_tools . asind ( <NUM_LIT:1.0> / n * ( pvl_tools . sind ( theta ) ) ) <EOL> tau = np . exp ( - <NUM_LIT:1.0> * ( K * ( L ) / pvl_tools . cosd ( thetar_deg ) ) ) * ( ( <NUM_LIT:1> - <NUM_LIT:0.5> * ( ( ( ( pvl_tools . sind ( thetar_deg - theta ) ) ** <NUM_LIT:2> ) / ( ( pvl_tools . sind ( thetar_deg + theta ) ) ** <NUM_LIT:2> ) + ( ( pvl_tools . tand ( thetar_deg - theta ) ) ** <NUM_LIT:2> ) / ( ( pvl_tools . tand ( thetar_deg + theta ) ) ** <NUM_LIT:2> ) ) ) ) ) <EOL> zeroang = <NUM_LIT> <EOL> thetar_deg0 = pvl_tools . asind ( <NUM_LIT:1.0> / n * ( pvl_tools . sind ( zeroang ) ) ) <EOL> tau0 = np . exp ( - <NUM_LIT:1.0> * ( K * ( L ) / pvl_tools . cosd ( thetar_deg0 ) ) ) * ( ( <NUM_LIT:1> - <NUM_LIT:0.5> * ( ( ( ( pvl_tools . sind ( thetar_deg0 - zeroang ) ) ** <NUM_LIT:2> ) / ( ( pvl_tools . sind ( thetar_deg0 + zeroang ) ) ** <NUM_LIT:2> ) + ( ( pvl_tools . tand ( thetar_deg0 - zeroang ) ) ** <NUM_LIT:2> ) / ( ( pvl_tools . tand ( thetar_deg0 + zeroang ) ) ** <NUM_LIT:2> ) ) ) ) ) <EOL> IAM = tau / tau0 <EOL> IAM [ theta == <NUM_LIT:0> ] = <NUM_LIT:1> <EOL> IAM [ abs ( theta ) > <NUM_LIT> | ( IAM < <NUM_LIT:0> ) ] = <NUM_LIT:0> <EOL> return IAM </s>
