OceanColor Banner Image

MSl12 Calling Sequence

MSl12 is designed to be as general as possible, with many parameters available to control the processing, and a user-specifiable output content.
Input parameters are passed to the program through a series of keyword-value pairs, which can be specified directly on the command-line or inserted as single lines in an input parameter file. It is also possible to use both methods simultaneously, if for instance the user wanted to use a standard parameter file but vary the input and output files on the command-line(most basic form, with all parameters defaulted) - the calling sequence is simply:

% MSl12 ifile=input_file_name ofile=output_file_name
or
% MSl12 par=parameter_file_name

where the file specified by parameter_file_name contains the two lines: ifile=input_file_name, ofile1=output_file_name

This will produce an HDF output file with default content, typical of SeaWiFS standard level-2 products. In general, the user can specify which science dataset (SDS) to put in the output file; and, the user can specify multiple output files with different content in each.

  • As a simple example, the following parameter file would process a SeaWiFS LAC file and generate two output files, the first with nLw for bands 1-6, and the second with chlorophyll-a (using the OC2 algorithm)

  • ifile=S1999180212700.L1A_LAC
    ofile1=S1999180212700.L2_LAC
    l2prod1="Lw_412 Lw_443 Lw_490 Lw_510 Lw_555 Lw_670"
    ofile2=S1999180212700.CHL_LAC l2prod2=chl_oc2


  • It is also possible to request the default products plus one or more additional products by using the product keyword "default" in the product list. For example:

  • l2prod1=default angstrom_520 aer_model_min aer_model_max aer_ratio

  • SeaWiFS Level-1A and Level-1B
  • MODIS Level-1A and Level-1B
  • OCTS Level-1B (NASDA and SIMBIOS formats)
  • MOS Level-1B
  • OSMI Level-1A
  • POLDER Level-1B
  • CZCS

    Arguments/Keywords:
     
    par Input parameter file to be used in the specific command mode 'msl12,par="pfile'. The parameter file may be generated in the interactive mode and used in the command mode.
    ifile Directory path and filename of the input Level 1 file
    geofile Directory path and filename of the input L1 geolocation file name (MODIS only)
    ofile Directory path and filename of the output L2 file containing the products specified by the l2prod keyword.
    l2prod The list of product names to be included in the output file ofile
    ofile[1-4] Directory path and filename of the output L2 files containing the products by the l2prod[1-4] keyword.
    l2prod[1-4] The product names to be output to ofile[1-4].
    spixl Starting pixel number to be processed. 
    (Default=1).
    epixl Ending pixel number to be processed. (Default=0, meaning the end of the scanline).
    dpixl Pixel subsampling rate. 
    (Default=1).
    sline Starting scan line number to be processed. 
    (Default=1).
    eline Ending scan line number to be processed. 
    (Default=0,meaning the last line of the file).
    dline Line subsampling rate. 
    (Default=1).
    ctl_pt_incr Control-point pixel increment for lon/lat arrays. 
    (0= optimize, default = 8)

    Additional required input data files:
     
    met1 Directory path and filename of the climatological product or the near-real-time (NRT) meteorological ancillary data product available for the nearest time preceding the time of ifile product's first scan line. If met1 is the climatological file, then met2 and met3 will not be used, otherwise, see met2 for logic. 
    (Default='$MSL12_DATA/CLIMATOLOGY.MET').
    met2 Directory path and filename of the NRT meteorological ancillary data product available for the nearest time following the time of ifile product's first scan line's. If met2 is not specified (null) and met1 is a NRT product, then met2 will be set to met1. If met1 <> met2 and the scan line's date and time, fall between the times of met1 and met2, get_ancillary will use met1 and met2 to generate the interpolated meteorological values (if the scan line's date and time fall before those of met1, an error occurs). If met1 = met2 and the scan line's date and time fall before met2, get_ancillary will use only met2 to generate the meteorological values. If met2 <> met3 and the scan line's date and time fall between the times of met2 and met3, get_ancillary will use met2 and met3 to generate the interpolated meteorological values (if the scan line's date and time fall after those of met3, an error occurs). If met2 = met3 and the scan line's date and time fall after met2, get_ancillary will use only met2 to generate the meteorological values.
    met3 Directory path and filename of the NRT meteorological ancillary data product for the nearest time following the time of ifile product's last scan line. If met3 is not specified (null) and met1 is a NRT product, then met3 will be set to met2 and the logic specified in met2 will be applied.
    ozone1 Directory path and filename of the climatological product or the NRT ozone ancillary data product available for the nearest time preceding the time of ifile product's first scan line. If ozone1 is the climatological file, then ozone2 and ozone3 will not be used, otherwise see ozone2 for logic. (For TOVS data, the center point time is used to represent the time of that product.).
    (Default='$MSL12_DATA/CLIMATOLOGY.OZONE').
    ozone2 Directory path and filename of the NRT ozone ancillary data product available for the nearest time following the time of ifile product's first scan line's. If ozone2 is not specified (null) and ozone1 is a NRT product, then ozone2 will be set to ozone1. If ozone1 <> ozone2 and the scan line's date and time, fall between the times of ozone1 and ozone2, get_ancillary will use ozone1 and ozone2 to generate the interpolated ozone values (if the scan line's date and time fall before those of ozone1, an error occurs). If ozone1 = ozone2 and the scan line's date and time fall before ozone2, get_ancillary will use only ozone2 to generate the ozone values. If ozone2 <> ozone3 and the scan line's date and time fall between the times of ozone2 and ozone3, get_ancillary will use ozone2 and ozone3 to generate the interpolated ozone values (if the scan line's date and time fall after those of ozone3, an error occurs). If ozone2 = ozone3 and the scan line's date and time fall after ozone2, get_ancillary will use only ozone2 to generate the ozone values. (For TOVS data,the center point time is used to represent the time of that product.)
    ozone3 Directory path and filename of the NRT ozone ancillary data product for the nearest time following the time of ifile product's last scan line. If ozone3 is not specified (null) and ozone1 is a NRT product, then ozone3 will be set to ozone2 and the logic specified in ozone2 will be applied. (For TOVS data, the center point time is used to represent the time of that product.)
    land Directory path and filename of the land-mask input file. 
    (Default='MSL12_DATA/landmask.dat')
    water Directory path and filename of the shallow water mask input file used for setting the l2_flags bit to indicate shallow water (defined as 30m) areas (McClain et al. 1995).(Default='MSL12_DATA/watermask.dat')
    ice Directory path and filename of the ice-mask input file. 
    (Default='MSL12_DATA/common/icemask.hdf')
    sst Directory path and filename of the climatological SST input data, this is currently used to set the tricodesmium flag.  For MODIS Aqua processing, OISST files can be specified here for the SSTguess in the non-linear SST algorithm(NLSST). (Default='MSL12_DATA/common/sst_climatology.hdf').
    calfile System calibration file (Default ='$CAL_HDF_PATH')

    Calibration control options:
     
    gain Calibration gain factors to multiply TOA radiance in each band; the default gain values are read from the $MSL12_DATA/sensor/sensor_table.dat file. 
    offset Calibration offset adjustment to TOA radiance; the default gain values are read from the $MSL12_DATA/sensor/sensor_table.dat file. 

    Algorithm control options:
     
    proc_ocean Apply ocean processing.  1= On, 0 = Off.  (Default is On).
    atm_ocor  Apply atmospheric correction.  1= On, 0 = Off.  (Default is On).
    proc_land Apply land processing.  1= On, 0 = Off.  (Default is Off).
    proc_sst Apply SST processing.  1= On, 0 = Off.  (Default is On).  (MODIS Only)
    mode Processing mode:
    0:forward processing (default)
    1:inverse (calibration) mode, targeting to nLw=0
    2:inverse (calibration) mode, given nLw target
    3: inverse (calibration) mode, given Lw target (internally normalized)
    filter_file Directory path and filename of the filter file that contains the filter method and information to be applied to the L1B data when filter_opt is set to 1.
    (Default=$MSL12_DATA/sensor/sensor_filter.dat).
    filter_opt Option for filtering the L1B data with the method specified in filter_file. 1=apply filtering , 0=do not apply filtering. 
    (Default for OCTS=1, Default for others=0).
    brdf_opt Option for running bi-directional reflectance correction factor:
    7: Morel f/Q + Fresnel solar + Fresnel sensor
    3: Fresnel reflection/refraction correction for sensor + solar path
    1: Fresnel reflection/refraction correction for sensor path
    0: no correction
    iop_opt IOP model for use in downstream products (default:none)
    0: None (products requiring a or bb will fail
    1: Carder
    2: GSM01
    3: QAA
    pol_opt polarization correction (MODIS only):
    4: all radiance polarized like Rayleigh + Glint
    3: only Rayleigh and Glint are polarized [MODIS default]
    2: all radiance polarized like Rayleigh
    1: only Rayleigh component is polarized
    0: no correction
    qaa_opt QAA IOP model options
    0: blending
    1: use 555
    2: use 640
    qaa_S QAA IOP model, spectral slope for adg (default:0.015)
    outband_opt out-of-band correction for water-leaving radiances
    (2: On, 0:Off, default: 2 - MODIS, SeaWiFS, OCTS, POLDER, 0 - MOS, OSMI)
    glint_opt glint correction (1: On [default], 0: Off)
    aer_opt Option for aerosol calculation mode. (SeaWiFS and OCTS Default = -3)
     
     1 Multi-scattering with fixed model (Oceanic, 99% humidity)
      2 Multi-scattering with fixed model (Maritime, 50% humidity)
      3  Multi-scattering with fixed model (Maritime, 70% humidity)
     4 Multi-scattering with fixed model (Maritime, 90% humidity)
     5 Multi-scattering with fixed model (Maritime, 99% humidity)
     6 Multi-scattering ,with fixed model (Coastal, 50% humidity)
     7 Multi-scattering with fixed model (Coastal, 70% humidity)
     8  Multi-scattering with fixed model (Coastal, 90% humidity)
     9 Multi-scattering with fixed model (Coastal, 99% humidity)
    10 Multi-scattering ,with fixed model (Tropospheric, 50% humidity)
    11 Multi-scattering with fixed model (Tropospheric, 90% humidity)
    12 Multi-scattering with fixed model (Tropospheric, 99% humidity)
     0 Single-scattering white aerosols
    -1 Multi-scattering with 765/865 model selection
    -2 Multi-scattering with 670/865 model selection (default for MOS)
    -3 Multi-scattering with 765/865 model selection and NIR correction for non-zero nLw
    -4 Multi-scattering with 670/865 model selection and NIR correction for non-zero nLw
    101 Multi-scattering with fixed model pair (requires * aermodmin, aermodmax, aermodrat specification)
    102 Multi-scattering with fixed aerosol optical thickness (requires taua specification)

    *aermodmin=lower-bounding model to use for fixed model pair aerosol option (default: -1)
    *aermodmax=upper-bounding model to use for fixed model pair aerosol option (default: -1)
    *aermodrat=ratio to use for fixed model pair aerosol option (default: 0.0)
    *taua=user-fixed aerosol optical thicknesses at each band (default='[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]')
    aer_iter_max maximum number of iterations for NIR water-leaving radiance estimation. (default: 10)
    albedo Cloud threshold for band 8 surface reflectance setting the l2_flags bit #10.
    (Default=0.027).
    glint_thresh Sun glint threshold (fraction of F0 (865)) used in calculations for setting the l2_flags bit #4. (McClain et al., 1995).  (Default=0.005)
    absaer Absorbing aerosol threshold on aerosol index. Set to -1 to avoid the computation entirely. 
    (Default = 0.5)
    sunzen Solar zenith angle threshold (degrees) used for setting the l2_flags bit #13. (McClain et al., 1995). 
    (Default=75.0)
    satzen Spacecraft zenith angle threshold (degrees) for setting the l2_flags bit #6. (McClain et al., 1995). 
    (Default=60.0).
    epsmin Minimum epsilon value used for setting the l2_flags bit #23. 
    (Default=0.85)
    epsmax Maximum epsilon value used for setting the l2_flags bit #23. 
    (Default=1.35)
    tauamax Maximum 865 aerosol optical depth used for setting the l2_flags bit #14. 
    (Default=0.3)
    nlwmin Minimum nlw(555) used for setting the l2_flags bit #15. 
    (Default=0.15).
    hipol threshold on degree-of-polarization to set HIPOL flag (default=0.2)
    wsmax Windspeed limit on white-cap correction. 
    (Default=8.0 m/s).
    sl_frac Lt 865 threshold for stray-light correction. (SeaWiFs only.) 
    (Default= 0.25)
    sl_pixl Number of LAC pixels over which stray-light correction is applied. 0 = no correction, -1 = program defaults 
    (4 for GAC, 3 for LAC)
    rhoamin Minimum NIR aerosol reflectance at which aerosol model selection will be attempted.
    (Default=0.0001)
    windspeed Wind speed ancillary override value.  If greater than -999, the scalar values will be used to replace the interpolated ancillary inputs for every pixel in the scene.  (Default = -1000).  (m/s)
    windangle Wind direction ancillary override value.   If greater than -999, the scalar values will be used to replace the interpolated ancillary inputs for every pixel in the scene.  (Default = -1000). (deg, N=0 E=90)
    pressure Surface pressure ancillary override value.   If greater than -999, the scalar values will be used to replace the interpolated ancillary inputs for every pixel in the scene.  (Default = -1000). (mb)
    ozone Ozone concentration ancillary override value.   If greater than -999, the scalar values will be used to replace the interpolated ancillary inputs for every pixel in the scene.  (Default = -1000). (cm)
    relhumid Relative humidity ancillary override value.  If greater than -999, the scalar values will be used to replace the interpolated ancillary inputs for every pixel in the scene.  (Default = -1000).  (%)
    watervapor Water vapor concentration ancillary override value.   If greater than -999, the scalar values will be used to replace the interpolated ancillary inputs for every pixel in the scene.  (Default = -1000). (g/cm^2)

    Masking keywords:

    maskland Mask out all land pixels:  0=off, 1=on. (Default=1).
    maskbath Mask out shallow water: 0=off , 1=on. (Default=0).
    maskcloud Mask out pixels for which cloud albedo is above user defined threshold: 0=off,1=on. (Default=1).
    maskglint Mask out pixels with sun glint: 0=off, 1=on. (Default=0).
    masksunzen Mask out pixels with large solar zenith angle: 0=off, 1=on. (Default=0).
    masksatzen Mask out pixels with large sensor zenith angle: 0=off, 1=on. (Default=0).
    maskhilt Mask out pixels where total radiance greater than knee value: 0=off, 1=on. (Default=1).
    maskstlight Mask out pixels with stray light: 0=off, 1=on. (Default=1).
    sl_frac SeaWiFS only, straylight fractional threshold pn Ltpical (default=0.25
    sl_pixl SeaWiFS only, number of LAC pixels for straylight flagging
    (default=4 for GAC, default=3 for LAC)

    The complete list of specifiable output SDS names is listed here

    back to MSL12 Front Page

    Curator: OceanColor Webmaster

    Authorized by: gene carl feldman

    NASA logo

    Privacy Policy and Important Notices

    Updated: Wednesday, 16-Sep-2009 14:33:45 EDT