#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_Zeeman ) 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 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-Z-66","O2-Z-68","O2"] ) # read line catalogue abs_linesReadFromSplitArtscat(abs_lines, abs_species, "spectroscopy/Perrin/", 61.1e9, 61.2e9) # Sort the line file according to species abs_lines_per_speciesCreateFromLines # Get the quantum Landau constant and molecule electron spin ReadXML( isotopologue_quantum, "spectroscopy/QuantumConstants/zeeman_constants.xml" ) #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" ) # Set magnetic field GriddedField3Create(B_W) ReadXML(B_W,"planets/Earth/IGRF/IGRF11_2010_200km-5deg-5deg.B_w.xml.gz") GriddedField3Create(B_V) ReadXML(B_V,"planets/Earth/IGRF/IGRF11_2010_200km-5deg-5deg.B_v.xml.gz") GriddedField3Create(B_U) ReadXML(B_U,"planets/Earth/IGRF/IGRF11_2010_200km-5deg-5deg.B_u.xml.gz") GriddedFieldLatLonRegrid( B_U, lat_grid, lon_grid, B_U ) GriddedFieldLatLonRegrid( B_V, lat_grid, lon_grid, B_V ) GriddedFieldLatLonRegrid( B_W, lat_grid, lon_grid, B_W ) GriddedFieldPRegrid( B_W, p_grid, B_W ) GriddedFieldPRegrid( B_U, p_grid, B_U ) GriddedFieldPRegrid( B_V, p_grid, B_V ) FieldFromGriddedField( mag_v_field, p_grid, lat_grid, lon_grid, B_V ) FieldFromGriddedField( mag_w_field, p_grid, lat_grid, lon_grid, B_W ) FieldFromGriddedField( mag_u_field, p_grid, lat_grid, lon_grid, B_U ) 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, "yZeeman.xml") VectorCreate(yREFERENCE) ReadXML( yREFERENCE, "yREFERENCE_ZEEMAN.xml" ) Compare( y, yREFERENCE, 1e-2 ) abs_lineshapeDefine( abs_lineshape, "Hui_etal_1978", "VVH", 750e9 ) yCalc # OK? # --- WriteXML( "ascii", y, "yZeeman.xml") ReadXML( yREFERENCE, "yREFERENCE_ZEEMAN.xml" ) Compare( y, yREFERENCE, 1e-2 ) } # End of Main