MADIS Data Ingest System ======================== Overview -------- The `MADIS `__ (Meteorological Assimilation Data Ingest System) service provides access to real-time and archived data of a variety of types, with added Quality Control (QC) and integration of data from a variety of sources. To convert a series of MADIS data files (where different types of observations are distributed in separate files), one high level view of the workflow is: #. convert each madis file, by platform type, into an obs_seq file. one file in, one file out. no time changes. use the ``shell_scripts/madis_conv.csh`` script. there are script options for hourly output files, or a single daily output file. #. if you aren't using the wrf preprocessing program, you're ready to go. #. if you do want to do subsequent wrf preprocessing, you need to: #. decide on the windowing. each platform has a different convention and if you're going to put them into the wrf preprocessing you'll need to have the windowing match. use the ``shell_scripts/windowing.csh`` script. #. the wrf preprocessing takes a list of files and assumes they will all be assimilated at the same time, for superob'ing purposes, so it should match the expected assimilation window when running filter. Data sources ------------ `http://madis.noaa.gov `__ There are two satellite wind converter programs; the one in this directory and one in the :doc:`../SSEC/SSEC` directory. The observations distributed here come from `NESDIS `__. The SSEC observations are processed by SSEC itself and will differ from the observations converted here. Programs -------- The programs in the ``DART/observations/MADIS/`` directory extract data from the distribution files and create DART observation sequence (obs_seq) files. Build them in the ``work`` directory by running the ``./quickbuild.sh`` script. In addition to the converters, the ``advance_time`` and ``obs_sequence_tool`` utilities will be built. There are currently converters for these data types: =========================== ====================== ACARS aircraft T,U,V,Q data convert_madis_acars Marine surface data convert_madis_marine Mesonet surface data convert_madis_mesonet Metar data convert_madis_metar Wind Profiler data convert_madis_profiler Rawinsonde/Radiosonde data convert_madis_rawin Satellite Wind data convert_madis_satwnd =========================== ====================== Example data files are in the ``data`` directory. Example scripts for converting batches of these files are in the ``shell_scripts`` directory. These are *NOT* intended to be turnkey scripts; they will certainly need to be customized for your use. There are comments at the top of the scripts saying what options they include, and should be commented enough to indicate where changes will be likely to need to be made. Several converters have compile-time choices for outputting various types of moist variables. Check the source code for more details. Some converters also read multiple T/F strings from the console (standard input) to control at run-time what types of observations to convert. Again, check the source code for more details. Each converter has hard-coded input and output filenames: ======================= ================= ================ convert_madis_acars: acars_input.nc obs_seq.acars convert_madis_marine: marine_input.nc obs_seq.marine convert_madis_mesonet: mesonet_input.nc obs_seq.mesonet convert_madis_metar: metar_input.nc obs_seq.metar convert_madis_profiler: profiler_input.nc obs_seq.profiler convert_madis_rawin: rawin_input.nc obs_seq.rawin convert_madis_satwnd: satwnd_input.nc obs_seq.satwnd ======================= ================= ================ The expected usage pattern is that a script will copy, rename, or make a symbolic link from the actual input file (which often contains a timestamp in the name) to the fixed input name before conversion, and move the output file to an appropriate filename before the next invocation of the converter. If an existing observation sequence file of the same output name is found when the converter is run again, it will open that file and append the next set of observations to it.