#DEFINITIONS: -*-sh-*- # # A simple test of yApplySensorPol. The test just checks that teh code runs, # there is no comparison to some reference values. # # 2015-10-11, Patrick Eriksson Arts2 { INCLUDE "general/general.arts" INCLUDE "general/continua.arts" INCLUDE "general/agendas.arts" INCLUDE "general/planet_earth.arts" Copy(abs_xsec_agenda, abs_xsec_agenda__noCIA) Copy( iy_main_agenda, iy_main_agenda__Emission ) Copy( iy_surface_agenda, iy_surface_agenda__UseSurfaceRtprop ) Copy( iy_space_agenda, iy_space_agenda__CosmicBackground ) Copy( ppath_agenda, ppath_agenda__FollowSensorLosPath ) Copy( ppath_step_agenda, ppath_step_agenda__GeometricPath ) AgendaSet( geo_pos_agenda ){ geo_posEndOfPpath } # # Create an empty (having zero absorption) 3D atmosphere # Copy(abs_xsec_agenda, abs_xsec_agenda__noCIA) Copy( propmat_clearsky_agenda, propmat_clearsky_agenda__OnTheFly ) Copy( ppath_agenda, ppath_agenda__FollowSensorLosPath ) abs_speciesSet( species= ["H2O", "N2" ] ) abs_lines_per_speciesSetEmpty VectorSet( p_grid, [1013e2,1] ) VectorSet( lat_grid, [-90,90] ) VectorSet( lon_grid, [-180,180] ) AtmosphereSet3D MatrixSetConstant( z_surface, 2, 2, 0 ) Tensor3SetConstant( t_field, 2, 2, 2, 300 ) Tensor4SetConstant( vmr_field, 2,2, 2, 2, 0 ) Tensor3SetConstant( z_field, 2, 2, 2, 0 ) atmfields_checkedCalc z_fieldFromHSE( p_hse=1013e2, z_hse_accuracy=1e3 ) # # A flat water surface, at 300K # VectorCreate( data_t_grid ) VectorSet( data_t_grid, [290,300,310] ) VectorCreate( data_f_grid ) VectorLinSpace( data_f_grid, 10e9, 100e9, 5e9 ) complex_refr_indexWaterLiebe93( surface_complex_refr_index, data_f_grid, data_t_grid ) # AgendaSet( surface_rtprop_agenda ){ NumericSet( surface_skin_t, 300 ) specular_losCalc surfaceFlatRefractiveIndex } # Number of Stokes components to be computed # IndexSet( stokes_dim, 3 ) # Frequency grid # VectorSet( f_grid, [10e9,20e9,30e9] ) # Sensor pos, los and pol # MatrixSet( sensor_pos, [600e3,23,4;600e3,78,77] ) MatrixSet( sensor_los, [145,30;145,-26] ) MatrixSet( sensor_pol, [0,90,-45;0,90,-45] ) # No "standard" sensor responses, but use RJ-Tb # sensorOff StringSet( iy_unit, "RJBT" ) # Add some Jacobians, to test also thos part jacobianInit nrowsGet( nrows, sensor_pos ) VectorNLinSpace( sensor_time, nrows, 0, 1 ) jacobianAddPointingZa( jacobian_quantities, jacobian_agenda, sensor_pos, sensor_time, 0, "recalc", 0.001 ) jacobianClose # No scattering # cloudboxOff # Perform remaining checks # abs_xsec_agenda_checkedCalc propmat_clearsky_agenda_checkedCalc atmgeom_checkedCalc cloudbox_checkedCalc sensor_checkedCalc # Calculate Stokes vector values ArrayOfStringSet( iy_aux_vars, ["Optical depth","Radiative background"] ) yCalc #Print( y ) #Print( jacobian ) # Extrat Tb for selected polarisation angles yApplySensorPol #Print( y ) #Print( jacobian ) }