#DEFINITIONS: -*-sh-*- # # Author: Richard Larsson Arts2 { INCLUDE "general/general.arts" INCLUDE "general/continua.arts" INCLUDE "general/agendas.arts" # Agenda for scalar gas absorption calculation Copy(abs_xsec_agenda, abs_xsec_agenda__noCIA) # (standard) emission calculation Copy( iy_main_agenda, iy_main_agenda__Emission ) # cosmic background radiation Copy( iy_space_agenda, iy_space_agenda__CosmicBackground ) # standard surface agenda (i.e., make use of surface_rtprop_agenda) Copy( iy_surface_agenda, iy_surface_agenda__UseSurfaceRtprop ) # Planck as blackbody radiation Copy( blackbody_radiation_agenda, blackbody_radiation_agenda__Planck ) # sensor-only path Copy( ppath_agenda, ppath_agenda__FollowSensorLosPath ) # no refraction Copy( ppath_step_agenda, ppath_step_agenda__GeometricPath ) # on-the-fly absorption considering Zeeman splitting Copy( propmat_clearsky_agenda, propmat_clearsky_agenda__OnTheFly ) IndexSet( stokes_dim, 4 ) # A pressure grid rougly matching 0 to 80 km, in steps of 2 km. # --- VectorNLogSpace( p_grid, 41, 1000e2, 1 ) # Looking into one line in the O2 band around 60GHz VectorSet(f_grid, [ 61.14e9, 61.15e9, 61.16e9, 61.17e9]) # Definition of species # --- abs_speciesSet( species=["H2O","N2","O2-66-LM_2NDORDER"] ) # read line catalogue (one line) abs_linesReadFromSplitArtscat(abs_lines, abs_species, "spectroscopy/Perrin/", 61.1e9, 61.2e9) # Sort the line file according to species abs_lines_per_speciesCreateFromLines # Set the linemixing line_mixing_dataInit ArrayOfLineMixingRecordCreate(lm_o2) ReadXML(lm_o2,"spectroscopy/LineMixing/2nd_order/o2_v1_0_band_40-120_GHz.xml.gz") line_mixing_dataMatch(species_tag="O2-66-LM_2NDORDER",line_mixing_records=lm_o2) #Get isotopologue ratioss isotopologue_ratiosInitFromBuiltin # monochromatic, pencibeam sensor sensorOff # No scattering cloudboxOff # No jacobian calculations jacobianOff # We select here to use Rayleigh-Jean brightness temperatures # --- StringSet( iy_unit, "RJBT" ) AtmosphereSet3D VectorLinSpace( lat_grid, -45, 45, 1 ) VectorLinSpace( lon_grid, -45, 45, 1 ) refellipsoidEarth( refellipsoid, "WGS84" ) # Atmospheric scenario # --- AtmRawRead( t_field_raw, z_field_raw, vmr_field_raw, abs_species, "testdata/tropical" ) AtmFieldsCalcExpand1D Extract( z_surface, z_field, 0 ) # Definition of sensor position and LOS # --- MatrixCreate( zeros ) MatrixSetConstant( sensor_pos, 1, 1, 600e3 ) MatrixSet( sensor_los, [ 113 ] ) MatrixSetConstant( zeros, 1, 1, 0 ) Append( sensor_pos, zeros, "trailing" ) Append( sensor_pos, zeros, "trailing" ) Append( sensor_los, zeros, "trailing" ) abs_lineshapeDefine( abs_lineshape, "Faddeeva_Algorithm_916", "VVH", 750e9 ) # Perform RT calculations # --- abs_xsec_agenda_checkedCalc propmat_clearsky_agenda_checkedCalc atmfields_checkedCalc atmgeom_checkedCalc cloudbox_checkedCalc sensor_checkedCalc yCalc # OK? # --- WriteXML( "ascii", y, "yLineMixing.xml") VectorCreate(yREFERENCE) ReadXML( yREFERENCE, "yREFERENCE_LineMixing.xml" ) Compare( y, yREFERENCE, 1e-2 ) } # End of Main