Status: December 24, 2008
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