#DEFINITIONS: -*-sh-*- # # The input files to this test were generated by setup_iyactive.m # Arts2 { INCLUDE "general/general.arts" INCLUDE "general/continua.arts" INCLUDE "general/agendas.arts" INCLUDE "general/planet_earth.arts" # Agenda for scalar gas absorption calculation Copy(abs_xsec_agenda, abs_xsec_agenda__noCIA) # on-the-fly absorption Copy( propmat_clearsky_agenda, propmat_clearsky_agenda__OnTheFly ) # A pressure grid rougly matching 0 to 16 km, in steps of 50 m. VectorNLogSpace( p_grid, 321, 1000e2, 100e2 ) # Initial definition of species abs_speciesSet( species= [ "N2", "O2", "H2O" ] ) # No line data needed here abs_lines_per_speciesSetEmpty # Dimensionality of the atmosphere AtmosphereSet1D # Atmospheric profiles AtmRawRead( basename = "testdata/tropical" ) # AtmFieldsCalc # Get ground altitude (z_surface) from z_field Extract( z_surface, z_field, 0 ) # Various things not used ArrayOfStringSet( iy_aux_vars, [] ) jacobianOff # Non-standard variables # NumericCreate( t_ref ) NumericCreate( dbz_ref ) NumericCreate( dbz_max ) NumericCreate( weight_ext ) # Adjust t_field # ReadXML( t_ref, "testdata/t_ref.xml" ) # Tensor3Scale( t_field, t_field, 0 ) Tensor3AddScalar( t_field, t_field, t_ref ) # The cloudbox # FlagOn( cloudbox_on ) ReadXML( cloudbox_limits, "testdata/cbox_limits.xml" ) ReadXML( pnd_field, "testdata/pnd_field.xml" ) ReadXML( scat_data, "testdata/scat_data.xml" ) # Define the radar # ReadXML( f_grid, "testdata/f_grid.xml" ) ReadXML( range_bins, "testdata/range_bins.xml" ) # ReadXML( sensor_pos, "testdata/sensor_pos.xml" ) MatrixSet( sensor_los, [180] ) # AgendaSet( iy_transmitter_agenda ){ Ignore( rtp_pos ) Ignore( rtp_los ) iy_transmitterSinglePol } ArrayOfIndexSet( instrument_pol, [ 5 ] ) Append( instrument_pol_array, instrument_pol ) # AgendaSet( iy_main_agenda ){ Ignore( iy_id ) Ignore( rte_pos2 ) Ignore( nlte_field ) Ignore( iy_unit ) ppathPlaneParallel( cloudbox_on = 0 ) iyActiveSingleScat( pext_scaling = weight_ext ) } IndexSet( stokes_dim, 3 ) sensorOff StringSet( iy_unit, "dBZe" ) # Make checks # abs_xsec_agenda_checkedCalc propmat_clearsky_agenda_checkedCalc atmfields_checkedCalc atmgeom_checkedCalc cloudbox_checkedCalc sensor_checkedCalc scat_data_checkedCalc # Test with all extinction set to 0 # NumericSet( weight_ext, 0 ) # yActive( ze_tref = t_ref ) # # Here we expect a close match with dbz_ref ReadXML( dbz_ref, "testdata/dbz_ref.xml" ) NumericFromVector( dbz_max, y, "max" ) Compare( dbz_max, dbz_ref, 0.005 ) # Test with particle extinction # NumericSet( weight_ext, 1 ) # yActive( ze_tref = t_ref ) # # Still a quite close match expected NumericFromVector( dbz_max, y, "max" ) Compare( dbz_max, dbz_ref, 0.01 ) # Result, with gas absorption # abs_speciesSet( species=[ "N2-SelfContStandardType", "O2-PWR93", "H2O-PWR98" ] ) abs_xsec_agenda_checkedCalc propmat_clearsky_agenda_checkedCalc # yActive( ze_tref = t_ref ) # # Here we expect 0.13 attenuation in max value NumericFromVector( dbz_max, y, "max" ) NumericAdd( dbz_max, dbz_max, 0.13 ) Compare( dbz_max, dbz_ref, 0.01 ) }