3. SOFTWARE architecture
3.1 PRINCIPLE AND BLOCK DIAGRAMS

3.1.1 Reminder on the general principles of the ICI inversion system
3.1.2 General Principle of software subdivision
3.1.3 CMS choices
3.2 DESCRIBING THE TASKS 3.2.1 ICI processing of an acquisition
3.2.2 End of time network processing
3.2.3 End-of-day processing
3.2.4 Displaying the retrieval fields and the error statistics
3.2.5 Storing-Purging-Mailing
3.3 SOURCE ARBORESCENCE
3.4 DATA ARBORESCENCE
3.5 I/O INTERFACES
3.5.1 files for a PASS processing
3.5.2 files for the BASE_METEO creation
3.5.3 Files for the BASE_PROFIL initial library
3.5.4 MONITORING files
3.5.5 GRAPHIC files
  1. SOFTWARE architecture
    1.  
    2. PRINCIPLE AND BLOCK DIAGRAMS
    3. The general functional principles of the ICI application are described in detail in [Ref 4] and recalled in this section. Software subdivision is however organized in a slightly different way and the general subdivision principles are listed.
       

         
      1. Reminder on the general principles of the ICI inversion system
      2. The purpose of the ICI inversion system is to rebuild the vertical structure of the atmosphere in temperature and moisture. This is done using the radiative transfer equation inversion method, on the basis of the observations given by the sounders, each channel viewing a different region of the atmosphere.
        Diagram 1 shows the main functions of the ICI inversion system.

        Diagram -1: Description of the ICI inversion processing system
        The ICI system reads level1d TOVS/ATOVS incoming data that are navigated, temperature calibrated, mapped on the HIRS grid and documented after AAPP pre-processing. The maps that are presently being developed are the MSU on the HIRS grid for TOVS and the AMSU-A and AMSU-B on the HIRS grid for ATOVS. The main information associated with each HIRS fov are on the one hand the surface type (land/sea/mixed) and the altitude originating from topographic files and on the other hand the cloud cover and the skin surface temperature originating from the AVHRR cloud mask, and specifically for ATOVS, rainfall surface type flags originating from the AMSU preprocessing.
        Preprocessing scientific processes are described in Ref [3] Vol.1. A detailed description of the AAPP output level1 file format is available in document [2] Vol.2.
        ICI inversion software files are sequential access binary files with one record per situation containing the level1d incoming data, environment data, surface weather forecasts, the atmospheric profile used for initializing the inversion as well as the restituted profile. A detailed description of the format is given in chapter 3.5.
        The inversion system is based 5 main functional moules shown on diagram 3-1. Such functions can be run at different moments of the day. They are :
        ICI: it the software core. It is activated in ?real time? just after preprocessing a new acquisition. It reads the observations file in the level1d format as output of the AAPP preprocesses. It also reads some surface parameters predicted by a numerical weather prediction model in ASCII or BUFR format depending on parametrization, computes some cleared radiances when it is necessary, initializes the inversion by means of a likely atmospheric profile (guess), performs the inversion and writes the inverted profile into the output file.
        Five coding routines can be activated by the parametrization so as to create the following files according to the user?s requirements: ASCII files, mainly useful for coding colocated files, AAPP level2 standard files, SATEM and BUFR format files (for assimilation or monitoring the numerical weather prediction model) or finally GRIB meteorological standard files used in particular for their display on the Météo-France "Synergie" graphic display units. The details of ASCII and AAPP level2 formats are given in Appendix. The SATEM and GRIB formats are WMO standard meteorological formats. At the CMS, the BUFR, SATEM and GRIB files are currently being activated.
        BASE METEO: the software supplies a local meteorological library comprising radiosoundings, analyses and temperature and moisture forecasts in altitude and on the surface. At the CMS, the library is supplied with information coming from the Météo-France BDM and BDAP. The purpose of BASE_METEO is to provide the ICI core module with forecasts, the BASE_PROFIL with analyses and the MONITORING with radiosoundings and analyses.
        BASE_PROFIL: this module creates a library of temperature and moisture atmospheric profiles. Profiles are used for initializing the inversion using a vertical profile which is very close to the restituted profile; they should therefore represent the meteorological situation encountered. The module finds information in the BASE METEO when the latter is supplied on a regular basis or uses a climatological library (2 climatological libraries are available with ICI). Up and down radiances as well as total satellite-surface transmittances are associated with each profile.
        MONITORING : the purpose of monitoring is on the one hand to adjust the inversion model so as to guarantee quality and stability for restituted profiles on a long-term basis by periodically re-adjusting the internal statistic coefficients of the ICI software (tuning) and on the other hand to perform a regular follow-up of quality (validation). Both actions are performed by using colocated data files (colocation) containing the satellite data, the inverted profile, the radiosounding and/or the nearest analysis in time and space.
        GRAPHIC DISPLAY: a set of graphic commands (using the freeware GMT library) and fortran codes have been added to the software for the visualization of the retrieved passes and their departure to NWP fields, and for the time display of the error statistics of key parameters (ex: forward RTTOV biases, RMSE of ICI temperature?). We also developped an http page for putting all together these figures in gif format: it is an easy way for having a general view of the evolution of the software.
         

      3. General Principle of software subdivision

The principle of software subdivision is on the one hand to start an ICI inversion for any new acquisition and on the other hand to create and reset the BASE_METEO, BASE_PROFIL and MONITORING environment. To do so, it is necessary to activate some processes at various moments of the day. That is why the description of software subdivision given further in this document complies with the task triggering philosophy by means of specific commands in which the activation or creation of the 5 main functional modules described in 3.1.1. can be found.
The software will perform the following main tasks, which are mainly activated by crontab:

Each one of these tasks is detailed in section 3.2. For task triggering dynamics, see diagram 4.1.
 

         
      1. CMS choices

The ICI application is very modular. Its parameters can be adjusted so as to meet specific users? requirements through a PARAMETRES file. At CMS the following options have been chosen:

In the present document, these options are used as examples and interesting alternatives are suggested.

       
    1. DESCRIBING THE TASKS
      1.  
      2. ICI processing of an acquisition
      3. Testing the validity of the environment and resetting it if necessary
        By means of the app_ici command, we test if the application environment (BASE_PROFIL, TUNING...) is correct for the acquisition to be processed. If it is not (outdated acquisitions, problems encountered in the course of previous processing operations...), the environment is redefined. It then launchs the ICI main program.
        Defining appropriate observation conditions of the f.o.v.
        After reading the input files, the ICI main program loops onto the HIRS f.o.v.?s. For each situation, the program defines the surface parameters (Ts, Ps, es), the air mass type, the direct model biases to be applied, the sighting secant values, cloud condition (clear/cloudy) and surface type values (land/sea)....
        Searching for the initial profile (or guess)
        The first step consists, for the f.o.v. observation conditions, in computing the brightness temperatures Tb for each profile of the BASE_PROFIL and all channels on the basis of radiances and transmittances archived in the library. The Tb covariance matrix and its inverse are then computed from the profiles of the correct air mass. A weighted ?distance? is then computed within the channel space between each profile of the BASE_PROFIL and the satellite data item being processed. The channels used for searching for the initial profile depend on the cloud cover and the satellite. The initial profile is the mean of the 4 (minimum) to 10 (maximum) profiles which keep the distance to a minimum (iterative selection method). A reference distance computed from Tb variability is used as a quality threshold. The surface parameters (Ts, Ps, e s) of the observation are allocated to the initial profile.
        In partly cloudy conditions, for Noaa14, the method computes a first initial profile under cloudy conditions then clears the satellite data of certain IR channels with the information on this first profile and finally searches for a new guess by means of these additional channels.
        Inverting
        Inversion as such keeps the cost function to a minimum [4]. It requires an initial profile (guess), error statistics for the guess, error statistics for observations and fast radiative transfer, its derivative in relation to the profile (matrix K). Before inversion, the initial profile is un-biased from the statistics of the preceding days.
        The inversion method used is iterative. The iteration profile is initialized with the guess and for each iteration the Tbs and the matrix K corresponding to the iteration profile are computed. The present configuration performs only one iteration because only clear or cleared observations are used.
        Formatting inversions in the BUFR, SATEM, GRIB, ASCII, AAPP level2 formats
        Depending on the application parametering, files are created in the chosen format as soon as the inversion binary file is available, at the end of app_ici. The BUFR and SATEM formats are used for monitoring inversions in the numerical weather prediction model; the GRIB format is used for their display onto the Météo-France Synergie display unit. It is also possible to delay the creation of the GRIB field for the visualization of several successive orbits together: in that case, a specific ici_togrib command is activated by crontab, outside the app_ici command.
         
         

      4. End of time network processing

Acquiring meteorological data

This is a rough description of the options retained at CMS to retrieve meteorological data. Obviously, new users will have to develop their own interfaces to acquire their own data.
At CMS we use the ATOUR10 grid from the French prediction model Arpège. This grid represents the area 100W-65E, 0N-80N on a 1-degree pitch. Files are acquired in the GRIB format for NWP fields and in the BUFR format for radiosondings. ASCII formats are also available.

Processing and formatting meteorological data

Meteorological files are renamed and transferred to the arborescence of the ICI application (ici_basemeteo). Radio soundings and analyses are checked, extrapolated and formatted in the p40 format. This format is mainly an interpolation/extrapolation of data on the 40 working levels of ICI and now the analyses are described for each node as a profile function of pressure level (the grib format is a field for a specific level)..
After coding, analyses are written at a different resolution (2*2-degree pitch). Forecasts remain in their GRIB format. Again, new users will have to adapt their software to their meteorological data initial format.
Profile checks refer to the number of moisture and temperature levels, the highest level pressure, the surface pressure and excessive differences between two successive levels.
The extrapolation used is MSIS-93 [16] or with PRFL [19] depending of the parametrization. Geopotential altitudes are computed with the PRFL software.
The associated ozone profile is the US Standard, atmosphere 76. A specific development would be necessary in order to provide a consistent ozone profile with the temperature profile.

 
Co-locating

Two types of colocation files are created:

For the 2 types, we process as follow: In the first stage, the analysis and radio soundings files (p40 format) of the relevant cycle are concatenated by means of the ?cat? UNIX command. In the second stage, for each profile, the co-located data item is searched for by means of a Fortran program, in the following order: the clearest, the nearest (<100km), the most recent (maxi = 3h) data item. Also, incorrect observed profiles are filtered (in particular for radio soundings) by comparing the satellite observations with the synthetic brightness temperatures of the observed profile.

 
Creating statistics

Statistics are computed from co-location files using 2 Fortran programs. They are meant to provide statistic information on deviations from the direct radiative model to satellite observations and (from colocation with level1d files) and on deviations from the initial profiles or inversions to "real" profiles (rs, analyses) both on 40 working levels and layers (from colocation with ici output files). For computing the layer temperatures, all the levels included in the layer are considered. Deviations on the levels or between geopotentials are obtained by means of a simple subtraction.
First, co-location files should be concatenated for the different days and cycles requested. Then, the statistics can be computed. Output files are formatted in the ascii format (delta*.txt) for anything related to deviations on channels, levels or layers. For the error covariance matrixes of the initial profile, the output file is a binary file (covbg*.mat).

 
Tuning the model

In order to reach an optimum quality for inversions the scheme needs permanent tuning of the incoming statistic parameters so as to avoid any drift due to the software or satellite sensors. When tuning is activated by the tuning_on parametering, it consists in copying the delta*.txt and covbg*.mat files corresponding to the proper date with a generic name under the /tuning arborescence.
 

         
      1. End-of-day processing
      2. Creating the initial profiles base
        The initial base can be created in two different ways, either from a climatological profile data base determined outside the application (static profiles base), or from the profiles, analyses or radiosoundings extracted from the BASE_METEO (to create rolling profiles base).
        Static library:
        For the static profiles base, the two international climatological libraries NESDISPR of the NOAA/CIMSS (1200 profiles) and TIGR2 of the LMD (1700 profiles) are available with the scheme. Such profiles are converted by applying their ascii format in the p40 type (command ici_convtop40). Then the up and down radiances and total transmittances should be computed for the different sighting conditions and for all the channels of the satellite considered by using the fast radiative transfer model RTTOV.
        If you wish to use another climatological library (e.g.: one you have created yourself) you just have to modify the ici_convtop40.F source file so as to take account of the format of the new library and to modify the scripts ici_convtop40.ksh and ici_baseprof.ksh so that they can recognize the new data type. If the profile base is created without using the ici_baseprof command, it is absolutely indispensable, when copying the file, to name it so that it can be recognized by the whole application.
        Rolling library :
        A rolling library is more difficult to manage but is preferable as a more precise initial profile can be selected. It is the normal procedure at CMS. Mini daily bases should be created from the p40 analyses of the cycles requested by parametrization (00H, 12H) at a 10-degree resolution (parametered value, two other parametering options permit a 1 over M sampling or a minimum geographical distance).
        For each mini_base (less than 170 profiles) up and down radiances and total transmittances are computed by using RTTOV for different sighting conditions and all the channels of the satellite considered. Then the profiles, radiances and transmittances daily files (presently for the 10 parametered preceding days) are concatenated by a specific fortran program in order to obtain 3 files for the period required which correspond to the initial library read by the ICI program.
        Splitting the file into daily files is more complex than computing the N (=10 by default) days every day, in particular for the implementation script (ici_baseprof). It also takes up more disk space since the last N daily mini-bases have to be kept. However this procedure saves considerable computing time and the creation of the full base lasts for about 10 minutes per satellite.
        Whether the base is rolling or static, air mass covariance matrixes are computed from these files for the 5 air masses and the 10 sighting angles.
         

      3. Displaying the retrieval fields and the error statistics
      4. Creating the postcript graphics
        The binary ici inversion files for one or several successive passes are read for the display of the fields on constant pressure levels for each lat,lon position of the retrievals (ici_gmtret).
        The binary ici inversion files are also read together with the nearest NWP fields to create postcript graphics of retrieved fields on a constant grid (ex:1x1 resolution) and corresponding departure to analyses (ici_gmt_dtfield).
        Different visualizations using the statistics computed from colocations are also done for fixed 10 days period or time series on months or year for the forward RTTOV model and for the ICI retrievals in biases, standard deviation and RMSE using the nearest colocated "in-situ" profile (ici_gmtrttov, ici_gmtdtb, ici_gmtprofile, ici_gmtrms).
        All these commands, as expressed by the name, use the GMT freeware graphic library. They only can create postcript files.
        Visualization on a web page
        It appairs from our experience that the visualization of all the graphics through a web page is an easy synthetic way to follow on a daily basis the accuracy of the scheme and to verify that all is running properly.
        An "html" file has been added to the software for the visualization of all the graphics in gif format. A ici_web command launchs all the previous ici_gmt* commands, converts the postcript files in gif format and if requested by the parametrization put by ftp the different gif files on a remote web server.
         

      5. Storing-Purging-Mailing

Purging the directories

The application requires quite a large space (about 1 gigabyte per satellite) because it produces a lot of files that it must keep for at least 15 days. It is therefore necessary to clear the outdated files on a regular basis while keeping permanent data (ici_purge). The purging module is able to perform its task according to two non-exclusive modes which have their parametering. Mode N purges while keeping the N last files of each type and mode J keeps the files of the last D days of each type.

 
Storing data

The generated data can be stored by a general saving system of the HRPT center. This is particularly useful when the application has to be reset. To do so, the ici_archive script copies the files into a specific arborescence which is scanned every day by the saving system. Files are compressed. The script is executed for a particular date and a particular satellite and can be run as often as you wish since only new files are copied into the storage arborescence. An ici_archiveremote script alao exists, speciffically for CMS, for archiving the files on a remote machine by ftp.
Checking if the procedure is running properly
The INFO, WARNING and ERROR messages of the logfiles for all tasks can be concatenated and directed to a mail address in order to check if the application is running properly on a daily basis. This is done by the ici_clog tool.

       
    1. SOURCE ARBORESCENCE
    2. The ICI application source arborescence described in the present chapter corresponds to the arborescence of the software when it was delivered.
       
      Diagram -1: Source arborescence
      The ICI package contains different libraries:
      The libicigribbufr_dummy library contains files with same names than in the libicigribbufr library except that they invoke no routines of the Grib or the Bufr libraries. That has been done for users who do not have access to these 2 libraries.
      The libf77rttov6 library contains all the routines of RTTOV6 as we get them from ECMWF and some others for the interfaces between ICI and RTTOV6.
      The libici library is presented in the following table by alphabetic order. All files contains one subroutine execpt the msis.F and prfl.F files, which we get from other teams, for profile extrapolation.

      airmasrs.F

      airmassat.F

      bd_airmasrs.F

      cal_delta.F

      calal.F

      codebufr_atovs.F

      codebufr_tovs.F

      codesatem.F

      coucheh2o.F

      esat.F

      esit.F

      extr_previ.F

      f_ici_ana.F

      f_ici_rs.F

      geogcart.F

      get_refdelta.F

      hutorm.F

      hutotd.F

      ici_calgeo.F

      ici_chxl1d.F

      ici_clarif.F

      ici_cpl1d.F

      ici_decrsbufr.F

      ici_ecartprofil.F

      ici_ecarttb.F

      ici_elimdtb.F

      ici_fn.F

      ici_gmt_interpol.F

      ici_gmt_smoothing.F

      ici_guess.F

      ici_initcan.F

      ici_inv.F

      ici_l1dinit.F

      ici_lecl1d.F

      ici_lecl1damsu.F

      ici_lecl1dmsu.F

      ici_level_to_field.F

      ici_levels_to_fields.F

      ici_msis.F

      ici_nearest.F

      ici_prfl.F

      ici_prstn.F

      ici_reglmul.F

      ici_rsbufrtop40.F

      ici_stat.F

      ici_statchl1d.F

      ici_tbguess.F

      ici_tvlayers.F

      ici_upg_p40.F

      ici_upg_sat.F

      intplog.F

      lec_airmas.F

      lec_cmeteo.F

      lec_delta.F

      lec_gmeteo.F

      lec_guess.F

      lec_inv.F

      lec_previ.F

      matcov.F

      matinv.F

      near_cmeteo.F

      prn_cmeteo.F

      prn_gmeteo.F

      prn_histo.F

      prn_icienv.F

      prn_iciprevi.F

      prn_icisat.F

      prn_p40.F

      profile_lay.F

      rec_tropo.F

      ref32po3.F

      rmtohu.F

      rmtotd.F

      sec_numb.F

      tdewi.F

      tdewl.F

      tdtohu.F

      tdtorm.F

      toth2o.F

      totozone.F

      tvirt.F

      wr_h_l2.F

      wr_rec_l2.F

      ici_emis.F

      ici_setup.F

               

      Description of the content of the libici library.

       
       

    3. DATA ARBORESCENCE

 

Diagram -1 : Data arborescence
The ICI application data arborescence described in this chapter corresponds to the default arborescence. It is however easy, thanks to the parametering contained in the ICIDIRS file (see Appendix 2 for details), to modify the address of a specific directory (e.g.: for the inversion directory: DIR_ICI_INV=${DIR_ICI}/toto).
The default arborescence is ${DIR_ICI} = /noaa/application/ici. Its value can be modified in the user?s ATOVS_ENV file (same as for AAPP), which is concatenated in each command of the application.
Modifying the arborescence can be useful to run the application on a double mode (e.g.: operational runs + development runs).
On the preceeding diagram, rectangulars refer to directories. Their names often explain their function. Losanges show the 3 main application?s permanent files located in the DIR_ICI directory.
This chapter details the data directories and some permanent files. The name of the directories as parametrized in the ICIDIRS file, allowing you to modify the arborescence, appears in italics.
 
/ici : DIR_ICI or ARCHIPEL_dir
Permanent files:

 
/archive : DIR_ICI_ARCHIVE
The data arborescence under this directory for the noaaxx satellite and month yyyy_mm is : /noaaxx/yyyy_mm. It contains the main sub-directories that are stored as: base_meteo, base_profil, colocalisation, datasat, graphique, inversion, satem, statistique, tuning.
 
/base_meteo : DIR_ICI_BM
This is the residence directory for the meteorological data acquired from the GTS (Rs) worldwide time cycle or from a numerical prediction model (analysis, forecasts).
File names are always organized as follows: *_ yyyymmdd_hhmn.*, the first star representing the data type and the last star the data format, yyyy,mm,dd=year,month,day of the data, hh, mn= hour, minutes of the time cycle.
Under /base_meteo/analysis, you will find the analyses in their extraction format (e.g.:analyse*.grib) and the same ones in the p40 input format in ICI (analyse*.p40) for the requested sampling according to parametering (in the case of the CMS, it is worth 2*2, which means for the ATOUR10 grid 3,300 profiles that are 2.8MB large).
Under /base_meteo /previ you will find forecasts in their extraction format (e.g.:previ*.grib). Their name is modified to indicate the date of the forecast but their contents are not modified.
Under /base_meteo /rs you can find radiosoundings in their extraction format (e.g.:temp*.txt) and the same ones in the p40 format of input into the inversion after filtering the bad quality situations (temp*.p40).
 
/base_profil : DIR_ICI_BP
This is the residence directory for the initial library.
Names of daily files are organized as profils_noaaxx_yyyymmdd.*. Concatenated file names (ICI module input files) are as follows : profils_noaaxx.*, the star being p40, rad or tau.
info_noaaxx.txt is a small ASCII file which gives the date of the last time the rolling library was created, the number of days in depth, the selection type and sampling. If this file does not exist, the library is systematically created again. It is used for checking the current rolling library (the name of which is generic) is the one needed; its date must be the day preceding the acquisition. If the date is 99999999, the library is not created.
There are 2 permanent files under /base_profil/static :

Both files can be used in replacement of the rolling library.
 
/bufr : DIR_ICI_BUFR
This directory contains the output ICI retrieved files in bufr format when they are requested by the parametrization. They are of the form: ici_noaaxx_yyyymmdd_hhmn_nnnnn.bfs.
 
/colocalisation : DIR_ICI_CO

This is the co-locations directory. For the hhmn time cycle (with mn=00) , it contains two types of binary colocation files:

  colocl1d_noaaxx_yyyymmdd_hhmn.ici for colocations of l1d situations and in-situ profiles

coloc_noaaxx_yyyymmdd_hhmn.ici for colocations of ici retrieval results and in-situ profiles
 

/datasat : DIR_ICI_DATASAT
This directory contains satellite data files, in the levelld format, of the form : hirsl1d_noaaxx_yyyymmdd_hhmn_nnnnn.l1d. where hhmn corresponds to the start of acquisition time, nnnnn to the orbit number. The files are compressed at the end of the inversion.

 
/graphique : DIR_ICI_GRAPHIQUE

Four permanent color palette files are under this directory: ici_temp_diff.cpt, ici_temp_rms.cpt, rttovnoaa14.cpt, rttovnoaa15.cpt. They are used by the ici_gmt* commands.
This directory contains all the postcript files produced by the ici_gmt commands. The name of each file contains the date related to the figure (ex: rms_period_noaaxx_all_yyyymmdd_mask.ps).
The directory also contains gif files, with a generic name without the date inside: these files are sent by ftp to a web server which is very limited in disk space. Use of generic names is a sure way not to increase the number of files and consequently the used space on the disk. And there is no necessity to purge the files. (ex: rms_year_noaaxx_mask.gif).
An html permanent file: validation.html is also in the directory for the vizualisation of the different gifs in the same way than under the ICI web site. Under the /deco sub-directory, we also have put a permanent file sail_bar.gif invoked by validation.html, just for the ?fun? (and to have exactly the same page than under the ICI web site.

 
/grib : DIR_ICI_GRIB
This directory contains the output ICI retrieved files in grib format when they are requested by the parametrization. They are of the form: ici_noaaxx_yyyymmdd_hhmn.grib.
 
/inversion : DIR_ICI_INV

This directory contains the binary files resulting from the inversion of the form: ici_noaaxx_yyyymmdd_hhmn_nnnnn.ici. If you have requested ascii formatted files from inverted files, you will find them in this directory under the following name: ici_noaaxx_yyyymmdd_hhmn_nnnnn.txt

 
/level2 :DIR_ICI_LEVEL2
This directory contains the output ICI retrieved files in AAPP level2 ASCII format when they are requested by the parametrization.
 
/log : DIR_ICI_LOG
This directory contains all the run logs of the ICI application.
 
/prfl : DIR_ICI_PRFL
It contains the 2 MESO_da and MOBIDIC_da permanent files  with ozone climatological profiles and also for profile extrapolation, when requested by parametrization.
 
/rtcoef : DIR_ICI_RTNOAA
This directory is linked to the radiative transfer model with the permanent rt_coef_noaa.dat file (presently for the RTTOV6 release). This file contains the coefficients required for running the direct RTTOV model, in particular for all satellites, the central frequencies of the channels, the internal statistic coefficients required for the fast model and contains the values required for computing the micro-wave emissivity on sea in relation to the wind velocity.
 
/satem :DIR_ICI_SATEM
It contains the output ICI retrieved files in SATEM format when requested by the parametrization.

/statistique :DIR_ICI_STAT
This directory contains the bias and standard deviation statistics files computed by using the coloc_noaaxx*.ici files. Filenames are as follows : statici_noaaxx_all_yyyymmdd_hhmn.txt or statici_noaaxx_rs_yyyymmdd_hhmn.txt (with radiosonde only),with hhmn the time cycle. For several days at a time (10 being the default value) they are named statici_noaaxx_all_yyyymmdd_yyyymmdd.txt or statici_noaaxx_rs_yyyymmdd_yyyymmdd.txt. In previous V2 version, the name of the files were deltaici* (same files).
 
/tuning : DIR_ICI_TUNING
This is the residence arborescence with 2 sub-directories one for the error covariance matrix files of the initial profile (/covbg), the second for the ascii files for all the biases (/delta).
Under /tuning/covbg, file names between two dates are as follows :

 

covbg_noaaxx_yyyymmdd_yyyymmdd.mat. The difference between the dates corresponds to the depth in terms of days of the statistics (10 being the default value). The files also contains the bias and standard deviation of the guess.

Under /tuning/delta, file names are follows:

 

depending of the requested time period: delta_noaaxx_type_yyyymmdd_yyyymmdd.txt or delta_noaaxx_type_yyyymmdd_hhmn.txt ( with type= all or rs). They correspond to the processing of the colocl1d* files The 10 days period, all profiles type files are copied under the /tuning directory with a generic name by the ici_tuning script.

Under /tuning, we found the statistical files used in input of the ici command.They are generated through a copy of the preceeding files for the correct dates, with a generic name. They are:

 

covbg_noaaxx.mat contains matrix O+F on input of the ICI module for the various surface and cloud types (it is a copy of one of the former files). It is a binay file. It must exist if a complete inversion is requested (and not only a search for the initial profile), otherwise the application comes out as errored. It is reset according to the parametering (TUNING=ON).
delta_noaaxx.txt is an editable file. It contains the biases and standard error deviations of the direct RTTOV model. It must exist for a complete inversion, otherwise the ICI application comes out as errored. During the initialization period (no inversion, only guess selection), it is not required and in that case, a notice is sent telling the user that values equal to 0 are used. It is reset according to the parametering (TUNING=ON) placed into the parameters file by copying the appropriate file of the /tuning/delta directory.
info_noaaxx.txt is a small editable file. It specifies the date of the last reset and its depth in terms of days of the tuning. It must exist with the correct date (D-1) if TUNING=ON, otherwise the ICI application creates the tuning files. If the date is 999999999, the tuning is not activated.

/wrk_prd: : DIR_ICI_TMP
Several commands are executed on a tempory directory, which is defined at the start of command. The directory is of the following type: ${DIR_ICI}/wrk_prd/cmd_pid where cmd is the name of the command and pid the number of the process under way (expansion of the $$ shell). At the end of the command the directory is emptied except for a file called ici_working and the directory is purged by means of the general purge command. Here is the list of the commands that use a work directory:
app_ici ici ici_analyse ici_baseprof ici_coloc ici_colocl1d ici_covbg
ici_delta ici_gmt* ici_monitor ici_rs ici_satem ici_togrib ici_tuning
ici_start
 

       
    1. I/O INTERFACES
    2. Most files have a sequential access and no header. It is therefore possible to concatenate them in order to obtain files on longer periods of time for example. File sizes are specified for noaa15 (larger than for Noaa14) and for CMS acquisition zone.
       

         
      1. files for a PASS processing

app_ici input files

 

satellite name

orbit number

date

Zenithal/azimuth angle 

pixel number

line number

lat,lon

Altitude

land/sea/coast flag

clear AVHRR %

AVHRR Ts

or clim/forecast Ts

HIRS

MSU / AMSU

   

Rainfall flag (AMSU)

Surface type flag

   

It is about 1.8MB size wise and 1MB when compressed.

 
app_ici output files

 

variable

structure or type

Comment

Icimgn

ch*8

Identification + version ``%ICI 1.0''

l1ddata

ici_sat

Incoming satellite data (id + data)

environ

ici_env

Environment variables

previ

ici_previ

Forecast data used

guess_pp.id

profil40.id

Identifier part of the nearest initial profile

dataguess.data

ici_sat.data

Data part of the guess?s brightness temperatures

guess

profil40

mean initial profile

inversion

profil40

Inverted profile

Structures are described in appendix 4.

Part A: 14 layers between the 1000 hPa and 850, 700, 500, 400, 300, 250, 200, 150, 100, 70, 50, 30, 20 and 10 hPa

 

section 1 dating and satellite number (noaa12=37, noaa14=38 to be modified in the code for a new satellite)

section 2 position, cloud cover, cloud top pressure
section 3 thicknesses of the 14 layers (differences in geopotentials)

 

section 4 water likely to produce a rainfall over 3 layers between 1000 hPa and 700, 500 300 hPa

section 5 surface temperature
Part C: 3 layers between 10 hPa and 7, 3 and 1 hPa
section 1 dating and satellite number
section 2 position, cloud cover, cloud top pressure
section 3 thickness of the 3 layers (differences in geopotentials)

 
 
 

satellite name

orbit number

       
date of HIRS spot 

lat, lon, alt

satellite zenithal angle

land/sea/coast

HIRS channels

AMSU/MSU channels

Tsurface

clear percentage cloud top temperature

surface pressure

   

profile type : 
rs, analysis, inversion

Rs code

date of profile

profile?s lat,lon,alt

land/sea index

 

temperature of the 40-level profile

water vapor on the 25 lower levels

       

 

 

         
      1. files for the BASE_METEO creation

ici_analyse, ici_previ, ici_rs input files
If the data is acquired in the GRIB format (PAR_ICI_ANAFMT=GRIB or PAR_ICI_PREFMT=GRIB), the original files of the meteorological base for analyses or forecasts are located in a directory parametered as DIR_ICI_ANAGRIB for analyses and DIR_ICI_PREGRIB for forecasts. Analyses and Forecasts should contain the grid-related surface parameters (land/sea and altitude). If these fields arein a separate file (as it is the case at CMS), under DIR_ICI_CSTGRIB, the scripts ici_analyse and ici_previ make first the concatenation of the 2 files.
If the data is acquired in the ASCII format (format (PAR_ICI_ANAFMT=ASCII or PAR_ICI_PREFMT=ASCII), the original files of the meteorological base are located in a directory parametered as DIR_ICI_ANAASCII for analyses and DIR_ICI_PREVIASCII for forecasts. The files contain the grid-related surface parameters (land/sea and altitude).
Radio soundings are located under DIR_ICI_RSASCII for ASCII format. In case of BUFR format, the residence of the radiosondings will be under DIR_ICI_RSBUFR .
All these directories are located on a machine which is directly connected with the numerical prediction center (e.g.:Arpège at CMS). Residence of original files and their names and formats obviously depend very much on the acquisition center.
 
ici_analyse output files

or if ascii
analyse_yyyymmdd_hh00.txt analyses in the ASCII format.The analyses of the general directory DIR_ICI_ANAASCII are copied into ${DIR_ICI_BM}/analyse.
 

ici_previ output files

or if ascii
previ_yyyymmdd_hh00.txt in case of ASCII format.
 

ici_rs output files
output

or if ascii

 
zonlanmmddhh.tem.Z Radiosoundings from DIR_ICI_RSASCII are copied and compressed into ${DIR_ICI_BM}/rs. The files?s name depends on the acquisition center. The size depends on the time. There are 4 a day. E.g.:150KB for all the rs?s of the 00-h corresponding to the ATOUR10.
 
         
      1. Files for the BASE_PROFIL initial library

ici_mkguess
input

output

warning: To save space, the size of the profils*.rad and profils*.tau depends on the number of channels involved in the guess selection (ncanguess, icanguess) given in the ici_setup.txt file. If you want to enlarge the channels list, you should recompute your guess library on the 10 preceding days.
 

ici_catguess
input

output

 
ici_covair.exe
input

output

 
ici_baseprof output files

 

         
      1. MONITORING files

Warning: Two different lines of statistics exist:

     
  1. RTTOV forward biases from colocalions of in-situ profiles with l1d files by using the command serie: ici_colocl1d (colocl1d*.ici) -> ici_delta (delta_noaaxx*.txt) -> ici_tuning (delta_noaaxx.txt). The delta_noaaxx.txt is the statistic tuning file in input of ici command.
  2. ICI statistics from colocations of in-situ profiles with ici inversion files by using the command serie: ici_coloc (coloc_noaaxx*.ici) ->

ici_covbg (covbg_noaaxx*.mat) ->ici_tuning (covbg_noaaxx.mat) for the guess statistics
and

ici_monitor (statici_noaaxx*.txt) for the global statistics after retrieval. Theses files are used for validation/ graphic display.
 

ici_colocl1d input files
input

output

 
ici_coloc input files
input

output

 

variable

Structure or type

Comment

icimgn

Ch*8

Identification + version ``%ICI 1.0''

luxdata

ici_sat

Incoming satellite data

environ

ici_env

Environment variables

previ

ici_previ

Forecasting data used

guess_pp.id

profil40.id

Identifier part of the nearest initial profile

dataguess.data

ici_sat.data

Data part of the guess?s brightness temperatures

guess

profil40

Average initial profile

inversion

profil40

Inverted profile

observe

profil40

Observed profile (analysis or radio sounding)

 

Structures are defined in appendix 4.
 

ici_delta
input

output

type= all (for all profile type) or rs
or, depending on parametering (arguments of the ici_delta command):

 

Ident

Patterns

Starting date

Ending date

Time cycle

Satellite

Cloud type 

Land/sea 

Values per channel, level, layer



S

TB OBS 
DTB 
DTBC 
DTBCOEFF 
DCS

yyyymmdd

yyyymmdd

hh 
99

noaaxx

1= clear 
2= part-cloudy 
3= cloudy

1= land 
2= sea

 

Each type of statistics has an identifier in the first column, preceded by M for mean, S for standard deviation and N for number of values. This way, identifier DTB will be allocated to the mean of the deviations between synthetic brightness temperatures and the temperatures measured by the instrument (before any correction). The next columns hold the starting date (yyyymmdd), ending date (yyyymmdd), time cycle (hh or 99), satellite name, then the computing type (land/sea, clear index, secant) followed by the actual values. Patterns are defined in description of ici_delta.F.
The file also contains information lines on the columns (channel numbers) so as to easily create time-division files containing the same type of information arranged in columns, in particular for tracing these values.

ici_monitor
input

output

or depending on parametering (arguments of the ici_monitor command):

Each type of statistics has an identifier in the first column, preceded by M for mean, S for standard deviation and N for number of values. This way, identifier DTB will be allocated to the mean of the deviations between synthetic brightness temperatures and the temperatures measured by the instrument. The next columns hold the starting date (yyyymmdd), ending date (yyyymmdd), time cycle (hh or 99), satellite name, then the computing type (land/sea, clear index, secant) followed by the actual values.

 

Ident

Patterns

Starting date

Ending date

Time cycle

Satellite

Cloud type 

Land/sea 

Values per channel, level, layer



S

TB OBS 
DTB 
DCS 
DT GUES 
DT INV 
DH GUES 
DH INV 
TV GUES 
TV INV 
G GUES 
G INV

yyyymmdd

yyyymmdd

hh 
99

noaaxx

1= clear 
2= part-cloudy 
3= cloudy

1= land 
2= sea

 
 

Patterns are defined in description of ici_monitor.F.
The file also contains information lines on the columns, for example, channel numbers or pressure levels, so as to easily create time-division files containing the same type of information arranged in columns, in particular for tracing these values.

 

ici_covbg
input

output

 
ici_tuning
input

output

 

         
      1. GRAPHIC files

ici_web
comment: ici_web calls several individual graphic commands of the form ici_gmt* which can be called alone. The main difficulty with GMT software is that the graphic output files are in postcript format and another tool is needed to convert them in gif format for their visualization on http.
inputs

statici_noaaxx_all_yyymmdd_yyyymmdd.txt
statici_noaaxx_all_yyyymmdd_??00.txt

outputs under ${DIR_ICI_GRAPHIQUE}
POSTCRIPT files of the different figures. Sizes are given as a reference but of course depend on the processed situation. The name of each command is given in front of each postcript file which is an output of this command.

GIF corresponding generic files