#DEFINITIONS: -*-sh-*- # ############ # Agenda predefinitions # # There shall be NO pre-set (default) agendas in general.arts anymore, hiding # them away from the user. Instead, the user is forced to explicitly set all # the agendas needed. Here, we predefine a range of typical agenda settings, # which the user can than copy into his/her setup using: # # Copy( agenda-name, predefined-agenda-name ) # ############ # # Authors: Jana Mendrok # Arts2 { ################################## # iy_main_agenda ################################## ### AgendaCreate( iy_main_agenda__Emission ) AgendaSet( iy_main_agenda__Emission ){ iyEmissionStandard } ### AgendaCreate( iy_main_agenda__Transmission ) AgendaSet( iy_main_agenda__Transmission ){ iyTransmissionStandard } ### AgendaCreate( iy_main_agenda__ScattMC ) AgendaSet( iy_main_agenda__ScattMC ){ Ignore( rte_pos2 ) iyMC Touch( ppath ) } ### AgendaCreate( iy_main_agenda__Radiolink ) AgendaSet( iy_main_agenda__Radiolink ){ Ignore( rte_los ) iyRadioLink } ################################## # iy_space_agenda ################################## ### # cosmic background (standard) # AgendaCreate( iy_space_agenda__CosmicBackground ) AgendaSet( iy_space_agenda__CosmicBackground ){ Ignore( rtp_pos ) Ignore( rtp_los ) MatrixCBR( iy, stokes_dim, f_grid ) } ################################## # iy_transmitter_agenda ################################## ### # Unit (unpolarised) intensity # AgendaCreate( iy_transmitter_agenda__UnitUnpolIntensity ) AgendaSet( iy_transmitter_agenda__UnitUnpolIntensity ){ Ignore( rtp_pos ) Ignore( rtp_los ) MatrixUnitIntensity( iy, stokes_dim, f_grid ) } ################################## # iy_surface_agenda ################################## ### # use surface_rtprop_agenda through WSM iySurfaceRtpropAgenda (standard) # AgendaCreate( iy_surface_agenda__UseSurfaceRtprop ) AgendaSet( iy_surface_agenda__UseSurfaceRtprop ){ iySurfaceRtpropAgenda } ################################## # iy_cloudbox_agenda ################################## # Note: iy_cloudbox_agenda only needs to be defined if the DOIT scattering # solver is applied. The agenda is applied within iyEmissionStandard, which - # out of the scattering methods - is only used with DOIT. The other scattering # solvers have their dedicated iy* methods to be applied in the iy_main_agenda: # iyMC and iyFOS. ### # linear interpolation of the intensity field of the cloud box # standard method in connection with DOIT scattering calculations. # AgendaCreate( iy_cloudbox_agenda__LinInterpField ) AgendaSet( iy_cloudbox_agenda__LinInterpField ){ iyInterpCloudboxField } ### # cubic interpolation of the intensity field of the cloud box # functional only for 1D # AgendaCreate( iy_cloudbox_agenda__CubInterpField1D ) AgendaSet( iy_cloudbox_agenda__CubInterpField1D ){ iyInterpPolyCloudboxField } ################################## # blackbody_radiation_agenda ################################## ### # include (Planck) emission in source term (default) # AgendaCreate( blackbody_radiation_agenda__Planck ) AgendaSet( blackbody_radiation_agenda__Planck ){ blackbody_radiationPlanck } ################################## # ppath_agenda ################################## ### # sensor-only path # AgendaCreate( ppath_agenda__FollowSensorLosPath ) AgendaSet( ppath_agenda__FollowSensorLosPath ){ Ignore( rte_pos2 ) ppathStepByStep } ### # transmitter-receiver (link) path # AgendaCreate( ppath_agenda__TransmitterReceiverPath ) AgendaSet( ppath_agenda__TransmitterReceiverPath ){ Ignore(cloudbox_on) Ignore( ppath_inside_cloudbox_do ) rte_losGeometricFromRtePosToRtePos2 ppathFromRtePos2 } ################################## # ppath_step_agenda ################################## ### # Geometrical path calculation (i.e., refraction neglected) # AgendaCreate( ppath_step_agenda__GeometricPath ) AgendaSet( ppath_step_agenda__GeometricPath ){ Ignore( t_field ) Ignore( vmr_field ) Ignore( f_grid ) Ignore( ppath_lraytrace ) ppath_stepGeometric } ### # Refracted path calculation # AgendaCreate( ppath_step_agenda__RefractedPath ) AgendaSet( ppath_step_agenda__RefractedPath ){ ppath_stepRefractionBasic } ################################## # propmat_clearsky_agenda ################################## FlagOff( propmat_clearsky_agenda_checked ) ### # "on-the-fly" absorption # AgendaCreate( propmat_clearsky_agenda__OnTheFly ) AgendaSet( propmat_clearsky_agenda__OnTheFly ){ Ignore(rtp_mag) Ignore(rtp_los) propmat_clearskyInit propmat_clearskyAddOnTheFly } ### # "on-the-fly" absorption with Zeeman # AgendaCreate( propmat_clearsky_agenda__OnTheFly_Zeeman ) AgendaSet( propmat_clearsky_agenda__OnTheFly_Zeeman ){ propmat_clearskyInit propmat_clearskyAddOnTheFly propmat_clearskyAddZeeman } ### # "on-the-fly" absorption with Faraday rotation # AgendaCreate( propmat_clearsky_agenda__OnTheFly_Faraday ) AgendaSet( propmat_clearsky_agenda__OnTheFly_Faraday ){ propmat_clearskyInit propmat_clearskyAddOnTheFly propmat_clearskyAddFaraday } ### # absorption lookup table # this could save (considerable) time, especially for batch calculations. # AgendaCreate( propmat_clearsky_agenda__LookUpTable ) AgendaSet( propmat_clearsky_agenda__LookUpTable ){ Ignore(rtp_mag) Ignore(rtp_los) propmat_clearskyInit propmat_clearskyAddFromLookup } ### # absorption lookup table with Zeeman # this could save (considerable) time, especially for batch calculations. # AgendaCreate( propmat_clearsky_agenda__LookUpTable_Zeeman ) AgendaSet( propmat_clearsky_agenda__LookUpTable_Zeeman ){ propmat_clearskyInit propmat_clearskyAddFromLookup propmat_clearskyAddZeeman } ################################## # abs_xsec_agenda ################################## FlagOff( abs_xsec_agenda_checked ) ### # Without CIA (only explicit lines and # "classical" continua / full abosorption models) # AgendaCreate( abs_xsec_agenda__noCIA ) AgendaSet( abs_xsec_agenda__noCIA ){ abs_xsec_per_speciesInit abs_xsec_per_speciesAddLines abs_xsec_per_speciesAddConts } ### # With CIA # AgendaCreate( abs_xsec_agenda__withCIA ) AgendaSet( abs_xsec_agenda__withCIA ){ abs_xsec_per_speciesInit abs_xsec_per_speciesAddLines abs_xsec_per_speciesAddConts abs_xsec_per_speciesAddCIA } ### # With CIA and sufficient temperture extrapolation # AgendaCreate( abs_xsec_agenda__withCIAextraT ) AgendaSet( abs_xsec_agenda__withCIAextraT ){ abs_xsec_per_speciesInit abs_xsec_per_speciesAddLines abs_xsec_per_speciesAddConts abs_xsec_per_speciesAddCIA( T_extrapolfac=6. ) } ################################## # refr_index_air_agenda ################################## ### # no refraction (n==1.0) # AgendaCreate( refr_index_air_agenda__NoRefrac ) AgendaSet( refr_index_air_agenda__NoRefrac ){ Ignore( f_grid ) Ignore( rtp_pressure ) Ignore( rtp_temperature ) Ignore( rtp_vmr ) NumericSet( refr_index_air, 1.0 ) NumericSet( refr_index_air_group, 1.0 ) } ### # refraction parameterization from Thayer (p,T,H2O) # valid in microwave for Earth # AgendaCreate( refr_index_air_agenda__GasThayer ) AgendaSet( refr_index_air_agenda__GasThayer ){ Ignore( f_grid ) NumericSet( refr_index_air, 1.0 ) NumericSet( refr_index_air_group, 1.0 ) refr_index_airThayer } ### # refraction parameterization # valid in infrared for Earth (dry air only) # AgendaCreate( refr_index_air_agenda__GasIREarth ) AgendaSet( refr_index_air_agenda__GasIREarth ){ Ignore( f_grid ) NumericSet( refr_index_air, 1.0 ) NumericSet( refr_index_air_group, 1.0 ) refr_index_airIR } ### # refraction parameterization from Newell&Baird (p,T; N2,O2,CO2,H2,He) # valid for arbitrary planetary atmospheres in microwave # AgendaCreate( refr_index_air_agenda__GasMWgeneral ) AgendaSet( refr_index_air_agenda__GasMWgeneral ){ Ignore( f_grid ) NumericSet( refr_index_air, 1.0 ) NumericSet( refr_index_air_group, 1.0 ) refr_index_airMWgeneral } ### # refraction due to free electrons # AgendaCreate( refr_index_air_agenda__FreeElectrons ) AgendaSet( refr_index_air_agenda__FreeElectrons ){ NumericSet( refr_index_air, 1.0 ) NumericSet( refr_index_air_group, 1.0 ) refr_index_airFreeElectrons } ### # combined refraction from gases (Newell&Baird) and free electrons # valid for arbitrary planetary atmospheres in microwave # AgendaCreate( refr_index_air_agenda__GasMWgeneralAndElectrons ) AgendaSet( refr_index_air_agenda__GasMWgeneralAndElectrons ){ NumericSet( refr_index_air, 1.0 ) NumericSet( refr_index_air_group, 1.0 ) refr_index_airMWgeneral refr_index_airFreeElectrons } ### # Combination of Thayer + free electrons. OK for Earth and microwave. # AgendaCreate( refr_index_air_agenda__GasThayerAndElectrons ) AgendaSet( refr_index_air_agenda__GasThayerAndElectrons ){ NumericSet( refr_index_air, 1.0 ) NumericSet( refr_index_air_group, 1.0 ) refr_index_airThayer refr_index_airFreeElectrons } ### # all surface agendas are placed in s special file # INCLUDE "agendas_surface.arts" }