#DEFINITIONS: -*-sh-*- # ARTS setup file for AMSUB simulations # # This is a setup with a reduced frequency grid, only 2 frequencies # for each channel (1 for each sideband). # # The frequencies have been derived with the atmlab function # optimize_f_grid over the Chevallier data set. # # Accuracy for the different channels: # Channel RMS_err[K] Max_err[K] # 16 0.000808466 0.00208452 # 17 0.00656138 0.0355162 # 18 0.0435299 0.31704 # 19 0.0270451 0.154509 # 20 0.0198627 0.0972374 # # Channel 18 is worst, possibly because of Ozone interference, which # would require a finer frequency grid. # # 2008-09-02 Stefan Buehler Arts2 { # 1. General #----------- output_file_formatSetZippedAscii # AMSU uses Planck brightness temperatures # --- StringSet( iy_unit, "PlanckBT" ) # # modifiy the maximum propagation step, from the default to 250 m : # NumericSet( ppath_lmax, 250 ) # Surface Copy( surface_rtprop_agenda, surface_rtprop_agenda__Specular_NoPol_ReflFix_SurfTFromt_surface ) # 2. Spectroscopy #---------------- # We take a smaller cutoff, since the line-by-line calculation is # only for O3, where only the local lines matter. # Could be speed-optimized further by selecting only the relevant # lines from the line list. ArrayOfLineshapeSpecCreate( abs_lineshapeDefine ) abs_lineshapeDefine( abs_lineshapeDefine, "Voigt_Kuntz6", "VVH", 5e9 ) abs_speciesSet( species=[ "H2O-PWR98", "O3", "O2-PWR93", "N2-SelfContStandardType" ] ) # Read HITRAN catalog (needed for O3): #abs_linesReadFromHitran2004( abs_lines, # "/storage1/pool/lookup2/hitran2004/HITRAN04.par", # 80e9, # 200e9 ) #WriteXML( "ascii", abs_lines, "amsub.hitran04_lines.xml" ) ReadXML( abs_lines, "instruments/amsu/amsub.hitran04_lines.xml" ) abs_lines_per_speciesCreateFromLines # WARNING: If you redefine abs_species, and want to do a line-by-line # calculation, you also have to call # abs_lines_per_speciesCreateFromLines again. # 3. Sensor: #----------- # Definition of sensor position and LOS # --- ReadXML( sensor_los, "instruments/amsu/amsub.sensor_los.xml" ) nrowsGet( nrows, sensor_los ) ncolsGet( ncols, sensor_los ) MatrixSetConstant( sensor_pos, nrows, ncols, 850e3 ) # Sensor response setup # --- MatrixSet( sensor_description_amsu, [ 89.00e9, 0.90e9, 1000e6 ; 150.00e9, 0.90e9, 1000e6 ; 183.31e9, 1.00e9, 500e6 ; 183.31e9, 3.00e9, 1000e6 ; 183.31e9, 7.00e9, 2000e6 ] ) sensor_responseSimpleAMSU # Replace f_grid and sensor_response by optimized ones. ReadXML( f_grid, "instruments/amsu/amsub.f_grid_fast.xml") ReadXML( sensor_response, "instruments/amsu/amsub.sensor_response_fast.xml") }