If you have time and talent to take over any of the jobs below please
contact the developers!
General points
Complete checking of uvspec input variables
Better error handling. In uvspec.h have a list of appropriate error codes. But, be careful, this must agree with error codes in ascii.h etc. It would be nice to have standard error messages for each error code.
More documentation:
Use sdoc or similar tool to document all *.f and *.c files.
Document all stand-alone programs in the tools directory.
More configuration options for water and ice clouds, aerosols; e.g. wavelength dependent aerosol_gg_file, aerosol_tau_file, aerosol_ssa_file (matrix input format like densfile_sza)
More input options for time: LOC (local time), LAT (local apparent time), UTC; take function LAT from zenith and invert it.
More, but fast examples
User-friendly mechanism for adding of new absorbing gases
more flexible input of atmospheric constituents in atmosphere file
read profile of the new gas
absorption cross-sections in an external file
interphase to an line-by-line model and absorption data base (HITRAN)
More consistent treatment of scaling with mixing ratios, columns, and dens_files; e.g. mixing_ratio 5% will scale up a minor constituent unexpectedly to 4.8% = 0.05/(1.0+0.05); reduce all other constituents accordingly
Possibility to add more than one dens file (different trace gas profiles on different vertical grids)
include HDF library
read e.g. MODIS albedo in the original format
Allow output_user also for solver polradtran
Include more radiative transfer equation solvers in libRadtran. Of special interest are
successive order of scattering method to include Raman scattering.
codes that accounts for changes in the refractive index, i.e. at the atmosphere ocean boundary.
psndo from tuv
qdisort (Raman scattering)
fast and stable twostream approximation
More photodissociation stuff.
Include standard aerosols, standard clouds; e.g. it would be nice to simply select a 'wc_type stratocumulus'
Better o3 cross sections for the Chappuis band?
Improved solar zenith/azimuth angle calculation
Better extraterrestrial spectrum above 420nm?
Tool to create custom-made correlated-k tables and add support for a generic correlated-k approximation
More information is available on request.
Specific things to be done
Better checking for tau550 option: with e.g. correlated_k KATO, tau550 does not produce an error message if the lower wavelength is larger than 550nm; instead the optical thickness is set to 0; need to consider wvn_upper and wvn_lower here!
oceabrdf() returns values for arbitrary wavelengths; if the wavelength is larger than 4 micron, it is replaced by 4 micron; should either stop and return an error or provide a routine that calculates useful numbers in the IR. In general, there should be a warning e.g. if the albedo is larger than 0.1 in a thermal calculation.
Longterm visions
Get radiative output for input:
place here
time now
libRadtran goes to space
radiative transfer for Mars, Jupiter …
make input file for all constants of a planet gravitation_acceleration_surface, radius_planet, day/year duration, mass_planet, tilt of rotation axis
clean up every assumption, which assume Earth environment, especially atmosphere
libRadtran in the submarine region: underwater radiative transfer
Restructuring: change loop and memory structure of libRadtran to have optical properties for only one wavelength in memory at one time