################################################################################ # # # This is a (plug&play-type) include file. The USER is NOT supposed to MODIFY # # it, but choose another include file to suit his/her needs. # # # ################################################################################ # # # This INCLUDE file is for # # - considering refraction of "air" # # - 1D calculations only # # - several viewing angles (incl. tangent altitudes) from constant observer # # position # # - for use with iyCalc (not yCalc) # # - for receiver-only setups (no receiver-transmitter paths!) # # # # It performs the following actions: # # - sets ppath_agenda: receiver-viewingangle determined path (no transmitter) # # - sets ppath_step_agenda: refracted ppath calculation # # - sets refr_index_air_agenda: refr_index_airMicrowavesGeneral for air # # - calculates viewing angles from given vector of tangent altitudes # # (where the given tangent altitudes refer to the ones the receiver is # # pointing at. actual refracted rays will have their (effective) tangent # # point at lower altitudes than set by the user) # # # - creates a common vector from (given) viewing angle vector and the viewing # # angles associated with the tangent altitudes # # - sets sensor positions: constant receiver position, empty transmitter # # # # It requires the following input: # # viewzang Vector; the viewing angles (1D, i.e. zenith only) # # tanh Vector; the tangent altitudes # # obsh Numeric; the receiver altitude # # refellipsoid as the WSV # # atmosphere_dim as the WSV # # It also uses (OVERWRITES!) sensor_pos # # # # It provides following output: # # allzang Vector; merged (1D) viewing angles resulting from viewang # # and calculated viewing angles resulting from tanh # # # # The file shall NOT be modified by the USER. # # # # This template creates (and makes internal use of) the following non-WSV: # # (These are created here, i.e., they can not be used by earlier parts of the # # script or created again (it also implies, this include can only be included # # once in an ARTS run!). They can be used in later parts of the script, # # though.) # # zang Vector # # ntanh Index # # # ################################################################################ Arts2 { # receiver-viewingangle-path Copy( ppath_agenda, ppath_agenda__FollowSensorLosPath ) # refracted path Copy( ppath_step_agenda, ppath_step_agenda__RefractedPath ) # refraction from "air" # (using general planet applicable method refr_index_airMicrowavesGeneral) Copy( refr_index_air_agenda, refr_index_air_agenda__GasMicrowavesGeneral ) # DO NOT MODIFY # preprocessing of viewing geometry parameters VectorCreate( allzang ) Copy( allzang, viewang ) VectorCreate( zang ) IndexCreate( ntanh ) nelemGet( ntanh, tanh ) MatrixSetConstant( sensor_pos, ntanh, 1, obsh ) VectorZtanToZa1D( zang, sensor_pos, refellipsoid, atmosphere_dim, tanh ) Append( allzang, zang ) #WriteXML( in=allzang ) #Print( allzang ) # for use with yCalc #Matrix1ColFromVector( sensor_los, allzang ) #nrowsGet( itmp, sensor_los ) #MatrixSetConstant( sensor_pos, itmp, 1, obsh ) # for use with looped iyCalc, i.e., we have to set rte_pos, not sensor_pos VectorSetConstant( rte_pos, 1, obsh ) VectorSet( rte_pos2, [] ) }