#DEFINITIONS: -*-sh-*- # This is a test doing Odin-SMR simulations. Same test as in # testOdinSMR, but the calculations are here performed inside a single # measurement block. This approach can only be used for 1D. # # Author: Patrick Eriksson Arts2 { # Basic settings (already needed in sensor part) # --- # This example assumes 1D AtmosphereSet1D # scalar RT IndexSet( stokes_dim, 1 ) # Select frequency band here: # INCLUDE "odinsmr_501_1D.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 ) # Possibility to change considered species # For example #abs_speciesSet( species=[ # "H2O,H2O-ForeignContStandardType,H2O-SelfContStandardType", # "O3" #] ) # ---- Atmospheric scenario -------------------------------------------------- # A pressure grid rougly matching 0 to 80 km in 250 m steps. # The pressure grid is for the SMR processing not uniform. It is there # created to be most dense over the actual range of tangent altitudes. # VectorNLogSpace( p_grid, 321, 1000e2, 1 ) # Atmospheric profiles here taken from Fascod AtmRawRead( t_field_raw, z_field_raw, vmr_field_raw, abs_species, "testdata/tropical" ) # AtmFieldsCalc # Get ground altitude (z_surface) from z_field Extract( z_surface, z_field, 0 ) # No scattering cloudboxOff # No jacobian calculations jacobianOff atmfields_checkedCalc atmgeom_checkedCalc cloudbox_checkedCalc sensor_checkedCalc # ---- Create absorption table ----------------------------------------------- abs_lines_per_speciesCreateFromLines AbsInputFromAtmFields abs_speciesSet( abs_species=abs_nls, species=[] ) VectorSet( abs_nls_pert, [] ) VectorSet( abs_t_pert, [] ) abs_xsec_agenda_checkedCalc abs_lookupCalc # absorption from LUT Copy( propmat_clearsky_agenda, propmat_clearsky_agenda__LookUpTable ) # ---- Sensor position and LOS ----------------------------------------------- # Tangent altitudes are here determined when creating sensor response matrix. # The tangent altitudes are stored in *vector_2*. # ---- Calculate and save propmat_clearsky_agenda_checkedCalc yCalc VectorCreate( yREFERENCE ) ReadXML( yREFERENCE, "yREFERENCE_1D.xml" ) Compare( y, yREFERENCE, 1e-2 ) WriteXML( output_file_format, y ) WriteXML( output_file_format, z_tan ) WriteXML( output_file_format, sensor_response_f_grid ) WriteXML( output_file_format, y_f ) WriteXML( output_file_format, y_pol ) WriteXML( output_file_format, y_pos ) WriteXML( output_file_format, y_los ) }