Index: branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/TOOLS/SIREN/src/iom.f90
===================================================================
--- branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/TOOLS/SIREN/src/iom.f90	(revision 4810)
+++ branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/TOOLS/SIREN/src/iom.f90	(revision 5600)
@@ -6,67 +6,93 @@
 !
 ! DESCRIPTION:
-!> @brief Input/Output manager :  Library to read input files<br/>
+!> @brief Input/Output manager :  Library to read input files
 !>
 !> @details
+!>    to open file:<br/>
+!> @code
+!>    CALL iom_open(td_file)
+!> @endcode
+!>       - td_file is file structure
+!>
+!>    to create file:<br/>
+!> @code
+!>    CALL iom_create(td_file)
+!> @endcode
+!>       - td_file is file structure
 !> 
-!>    to open file:<br/>
-!>    CALL iom_open(td_file)
-!>       - td_file is file structure
-!>
 !>    to write in file:<br/>
+!> @code
 !>    CALL  iom_write_file(td_file)
+!> @endcode
 !>
 !>    to close file:<br/>
+!> @code
 !>    CALL iom_close(tl_file)
+!> @endcode
 !>
 !>    to read one dimension in file:<br/>
-!>    tl_dim = iom_read_dim(tl_file, id_dimid)<br/>
+!> @code
+!>    tl_dim = iom_read_dim(tl_file, id_dimid)
+!> @endcode
 !>    or<br/>
-!>    tl_dim = iom_read_dim(tl_file, cd_name)<br/>
+!> @code
+!>    tl_dim = iom_read_dim(tl_file, cd_name)
+!> @endcode
 !>       - id_dimid is dimension id
 !>       - cd_name is dimension name
 !>
 !>    to read variable or global attribute in file:<br/>
-!>    tl_att = iom_read_att(tl_file, id_varid, id_attid)<br/>
-!>    or<br/>
-!>    tl_att = iom_read_att(tl_file, id_varid, cd_attname)<br/>
-!>    or<br/>
-!>    tl_att = iom_read_att(tl_file, cd_varname, cd_attid, [cd_stdname])<br/>
-!>    or<br/>
-!>    tl_att = iom_read_att(tl_file, cd_varname, cd_attname, cd_stdname)
+!> @code
+!>    tl_att = iom_read_att(tl_file, id_varid, id_attid)
+!> @endcode
+!>    or
+!> @code
+!>    tl_att = iom_read_att(tl_file, id_varid, cd_attname)
+!> @endcode
+!>    or
+!> @code
+!>    tl_att = iom_read_att(tl_file, cd_varname, id_attid)
+!> @endcode
+!>    or
+!> @code
+!>    tl_att = iom_read_att(tl_file, cd_varname, cd_attname)
+!> @endcode
 !>       - id_varid is variable id
 !>       - id_attid is attribute id
 !>       - cd_attname is attribute name
-!>       - cd_varname is variable name
-!>       - cd_stdname is variable standard name (optional)
+!>       - cd_varname is variable name or standard name
 !>    
 !>    to read one variable in file:<br/>
-!>    tl_var = iom_read_var(td_file, id_varid, [id_start, id_count])<br/>
-!>    or<br/>
-!>    tl_var = iom_read_var(td_file, cd_name, [id_start, [id_count,]] [cd_stdname])
+!> @code
+!>    tl_var = iom_read_var(td_file, id_varid, [id_start, id_count])
+!> @endcode
+!>    or
+!> @code
+!>    tl_var = iom_read_var(td_file, cd_name, [id_start, [id_count,]])
+!> @endcode
 !>       - id_varid is variabale id
-!>       - cd_name is variabale name
-!>       - id_start is a integer(4) 1D table of index from which the data 
-!>          values will be read (optional)
-!>       - id_count is a integer(4) 1D table of the number of indices selected
-!>          along each dimension (optional)
-!>       - cd_stdname is variable standard name (optional)
+!>       - cd_name is variabale name or standard name.
+!>       - id_start is a integer(4) 1D array of index from which the data 
+!>          values will be read [optional]
+!>       - id_count is a integer(4) 1D array of the number of indices selected
+!>          along each dimension [optional]
 !>
 !> @author
 !> J.Paul
 ! REVISION HISTORY:
-!> @date Nov, 2013 - Initial Version
-!
-!> @note Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
+!> @date November, 2013 - Initial Version
+!>
 !> @todo
 !> - see lbc_lnk
 !> - see goup netcdf4
-!> - add iom_fill_var_value : complete tl_file avec valeur de la variable
+!>
+!> @note Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
 !----------------------------------------------------------------------
 MODULE iom
    USE netcdf                          ! nf90 library
+   USE global                          ! global parameter
    USE kind                            ! F90 kind parameter
    USE fct                             ! basic useful function
-   USE logger                             ! log file manager
+   USE logger                          ! log file manager
    USE dim                             ! dimension manager
    USE att                             ! attribute manager
@@ -76,5 +102,4 @@
    USE iom_rstdimg                     ! restart dimg I/O manager
    IMPLICIT NONE
-   PRIVATE
    ! NOTE_avoid_public_variables_if_possible
 
@@ -86,21 +111,16 @@
    PUBLIC :: iom_read_att    !< read one attribute in an opened file
    PUBLIC :: iom_read_var    !< read one variable  in an opened file   
-   PUBLIC :: iom_fill_var    !< fill variable value
    PUBLIC :: iom_write_file  !< write file structure contents in an opened file
-   ! PUBLIC :: iom_get_mpp     ! get sub domain decomposition 
-
-                                          !< read variable or global attribute in an opened file
-   PRIVATE :: iom__read_var_name_att_id   !< given variable name or standard name and attribute id.
-   PRIVATE :: iom__read_var_id_att_id     !< given variable id and attribute id.
-   PRIVATE :: iom__read_var_name_att_name !< given variable name or standard name, and attribute name.
-   PRIVATE :: iom__read_var_id_att_name   !< given variable id and attribute name.
-
-   PRIVATE :: iom__read_dim_id            !< read one dimension in an opened file, given dimension id.
-   PRIVATE :: iom__read_dim_name          !< read one dimension in an opened netcdf file, given dimension name.
-   PRIVATE :: iom__read_var_id            !< read variable value in an opened file, given variable id.
-   PRIVATE :: iom__read_var_name          !< read variable value in an opened file, given variable name or standard name.
-   PRIVATE :: iom__fill_var_id            !< fill variable value in an opened file, given variable id
-   PRIVATE :: iom__fill_var_name          !< fill variable value in an opened file, given variable name
-   PRIVATE :: iom__fill_var_all           !< fill all variable value in an opened file
+
+                                          ! read variable or global attribute in an opened file
+   PRIVATE :: iom__read_att_varname_id   ! given variable name or standard name and attribute id.
+   PRIVATE :: iom__read_att_varid_id     ! given variable id and attribute id.
+   PRIVATE :: iom__read_att_varname_name ! given variable name or standard name, and attribute name.
+   PRIVATE :: iom__read_att_varid_name   ! given variable id and attribute name.
+
+   PRIVATE :: iom__read_dim_id            ! read one dimension in an opened file, given dimension id.
+   PRIVATE :: iom__read_dim_name          ! read one dimension in an opened netcdf file, given dimension name.
+   PRIVATE :: iom__read_var_id            ! read variable value in an opened file, given variable id.
+   PRIVATE :: iom__read_var_name          ! read variable value in an opened file, given variable name or standard name.
 
    INTERFACE iom_read_var
@@ -109,10 +129,4 @@
    END INTERFACE iom_read_var
 
-   INTERFACE iom_fill_var
-      MODULE PROCEDURE iom__fill_var_id
-      MODULE PROCEDURE iom__fill_var_name
-      MODULE PROCEDURE iom__fill_var_all
-   END INTERFACE 
-
    INTERFACE iom_read_dim
       MODULE PROCEDURE iom__read_dim_id
@@ -121,16 +135,17 @@
 
    INTERFACE iom_read_att    !< read variable or global attribute in an opened file
-      MODULE PROCEDURE iom__read_var_name_att_id   !< given variable name or standard name and attribute id.
-      MODULE PROCEDURE iom__read_var_id_att_id     !< given variable id and attribute id.
-      MODULE PROCEDURE iom__read_var_name_att_name !< given variable name or standard name, and attribute name.
-      MODULE PROCEDURE iom__read_var_id_att_name   !< given variable id and attribute name.
+      MODULE PROCEDURE iom__read_att_varname_id   !< given variable name or standard name and attribute id.
+      MODULE PROCEDURE iom__read_att_varid_id     !< given variable id and attribute id.
+      MODULE PROCEDURE iom__read_att_varname_name !< given variable name or standard name, and attribute name.
+      MODULE PROCEDURE iom__read_att_varid_name   !< given variable id and attribute name.
    END INTERFACE iom_read_att
 
 CONTAINS
    !-------------------------------------------------------------------
-   !> @brief This function open a file in read or write mode<br/>
+   !> @brief This function open a file in read or write mode
+   !> @details
    !> If try to open a file in write mode that did not exist, create it.<br/>
    !> 
-   !> If file already exist, get information about:
+   !> If file exist, get information about:
    !> - the number of variables
    !> - the number of dimensions
@@ -141,9 +156,8 @@
    !>
    !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[inout] td_file : file structure
-   !-------------------------------------------------------------------
-   !> @code
+   !> - November, 2013- Initial Version
+   !
+   !> @param[inout] td_file file structure
+   !-------------------------------------------------------------------
    SUBROUTINE iom_open(td_file)
       IMPLICIT NONE
@@ -163,19 +177,17 @@
             CALL iom_rstdimg_open(td_file)
          CASE DEFAULT
-            CALL logger_error("OPEN: unknow type : "//TRIM(td_file%c_name))
+            CALL logger_error("IOM OPEN: unknow type : "//TRIM(td_file%c_name))
 
       END SELECT
 
    END SUBROUTINE iom_open
-   !> @endcode
-   !-------------------------------------------------------------------
-   !> @brief This function create a file<br/>
+   !-------------------------------------------------------------------
+   !> @brief This function create a file.
    !> 
    !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[inout] td_file : file structure
-   !-------------------------------------------------------------------
-   !> @code
+   !> - November, 2013- Initial Version
+   !
+   !> @param[inout] td_file file structure
+   !-------------------------------------------------------------------
    SUBROUTINE iom_create(td_file)
       IMPLICIT NONE
@@ -202,19 +214,17 @@
             CALL iom_rstdimg_open(td_file)
          CASE DEFAULT
-            CALL logger_error( "CREATE: can't create file "//&
+            CALL logger_error( "IOM CREATE: can't create file "//&
             &               TRIM(td_file%c_name)//": type unknown " )
       END SELECT
 
    END SUBROUTINE iom_create
-   !> @endcode
    !-------------------------------------------------------------------
    !> @brief This subroutine close file
    !>
    !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[inout] td_file : file structure
-   !-------------------------------------------------------------------
-   !> @code
+   !> - November, 2013- Initial Version
+   !
+   !> @param[inout] td_file file structure
+   !-------------------------------------------------------------------
    SUBROUTINE iom_close(td_file)
       IMPLICIT NONE
@@ -230,30 +240,26 @@
             CALL iom_rstdimg_close(td_file)
          CASE DEFAULT
-            CALL logger_error( " CLOSE: can't close file "//&
+            CALL logger_error( "IOM CLOSE: can't close file "//&
             &               TRIM(td_file%c_name)//": type unknown " )
       END SELECT
 
    END SUBROUTINE iom_close
-   !> @endcode
    !-------------------------------------------------------------------
    !> @brief This function read attribute (of variable or global) in an opened 
    !> file, given variable name or standard name and attribute id.
-   !> to get global attribute use 'GLOBAL' as variable name 
-   !>
-   !> To check only standard name of the variable, put variable name to ''
-   !
-   !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file : file structure
-   !> @param[in] cd_varname : variable name. use 'GLOBAL' to read global 
+   !> @details
+   !>  - to get global attribute use 'GLOBAL' as variable name. 
+   !
+   !> @author J.Paul
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file      file structure
+   !> @param[in] cd_varname   variable name. use 'GLOBAL' to read global 
    !> attribute in a file
-   !> @param[in] id_attid : attribute id
-   !> @param[in] cd_stdname : variable standard name
+   !> @param[in] id_attid     attribute id
    !> @return  attribute structure 
    !-------------------------------------------------------------------
-   !> @code
-   TYPE(TATT) FUNCTION iom__read_var_name_att_id( td_file, cd_varname, &
-   &                                              id_attid)
+   TYPE(TATT) FUNCTION iom__read_att_varname_id( td_file, cd_varname, &
+   &                                             id_attid)
       IMPLICIT NONE
       ! Argument
@@ -277,17 +283,16 @@
          SELECT CASE(TRIM(td_file%c_type))
             CASE('cdf')
-               iom__read_var_name_att_id=iom_read_att( td_file, il_varid, &
+               iom__read_att_varname_id=iom_read_att( td_file, il_varid, &
                &                                       id_attid)
             CASE('dimg')
-               CALL logger_warn( " READ ATT: can't read attribute "//&
+               CALL logger_warn( " IOM READ ATT: can't read attribute "//&
                &              "in dimg file : "//TRIM(td_file%c_name) )
             CASE DEFAULT
-               CALL logger_error( " READ ATT: can't read attribute in file "//&
-               &               TRIM(td_file%c_name)//" : type unknown " )
+               CALL logger_error( " IOM READ ATT: can't read attribute "//&
+               &    " in file "//TRIM(td_file%c_name)//" : type unknown " )
          END SELECT
       ENDIF
 
-   END FUNCTION iom__read_var_name_att_id
-   !> @endcode   
+   END FUNCTION iom__read_att_varname_id
    !-------------------------------------------------------------------
    !> @brief This function read attribute (of variable or global) in an opened 
@@ -295,14 +300,13 @@
    !>
    !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file : file structure
-   !> @param[in] id_varid : variable id. use NF90_GLOBAL to read global 
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file   file structure
+   !> @param[in] id_varid  variable id. use NF90_GLOBAL to read global 
    !> attribute in a file
-   !> @param[in] id_attid : attribute id
+   !> @param[in] id_attid  attribute id
    !> @return  attribute structure 
    !-------------------------------------------------------------------
-   !> @code
-   TYPE(TATT) FUNCTION iom__read_var_id_att_id( td_file, id_varid, &
+   TYPE(TATT) FUNCTION iom__read_att_varid_id( td_file, id_varid, &
    &                                            id_attid)
       IMPLICIT NONE
@@ -316,34 +320,31 @@
       SELECT CASE(TRIM(td_file%c_type))
          CASE('cdf')
-            iom__read_var_id_att_id=iom_cdf_read_att( td_file, id_varid, &
+            iom__read_att_varid_id=iom_cdf_read_att( td_file, id_varid, &
             &                                         id_attid)
          CASE('dimg')
-            CALL logger_warn( " READ ATT: can't read attribute in dimg file "//&
+            CALL logger_warn( " IOM READ ATT: can't read attribute in dimg file "//&
             &              TRIM(td_file%c_name) )
          CASE DEFAULT
-            CALL logger_error( " READ ATT: can't read attribute in file "//&
-            &               TRIM(td_file%c_name)//" : type unknown " )
-      END SELECT
-
-   END FUNCTION iom__read_var_id_att_id
-   !> @endcode
+            CALL logger_error( " IOM READ ATT: can't read attribute in file "//&
+            &               TRIM(td_file%c_name)//" : type unknown " )
+      END SELECT
+
+   END FUNCTION iom__read_att_varid_id
    !-------------------------------------------------------------------
    !> @brief This function read attribute (of variable or global) in an opened 
    !> file, given variable name or standard name, and attribute name.
-   !> to get global attribute use 'GLOBAL' as variable name.
-   !>
-   !> To check only standard name of the variable, put variable name to ''
-   !
-   !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file : file structure
-   !> @param[in] cd_varname : variable name or standard name. use 'GLOBAL' to read global
+   !> @details
+   !> - to get global attribute use 'GLOBAL' as variable name.
+   !
+   !> @author J.Paul
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file      file structure
+   !> @param[in] cd_varname   variable name or standard name. use 'GLOBAL' to read global
    !> attribute in a file
-   !> @param[in] cd_attname : attribute name
+   !> @param[in] cd_attname   attribute name
    !> @return  attribute structure    
    !-------------------------------------------------------------------
-   !> @code
-   TYPE(TATT) FUNCTION iom__read_var_name_att_name( td_file, cd_varname, &
+   TYPE(TATT) FUNCTION iom__read_att_varname_name( td_file, cd_varname, &
    &                                                cd_attname)
       IMPLICIT NONE
@@ -368,17 +369,16 @@
          SELECT CASE(TRIM(td_file%c_type))
             CASE('cdf')
-               iom__read_var_name_att_name=iom_cdf_read_att( td_file, il_varid, &
+               iom__read_att_varname_name=iom_cdf_read_att( td_file, il_varid, &
                &                                             cd_attname)
             CASE('dimg')
-               CALL logger_warn( " READ ATT: can't read attribute "//&
+               CALL logger_warn( " IOM READ ATT: can't read attribute "//&
                &              "in dimg file :"//TRIM(td_file%c_name) )
             CASE DEFAULT
-               CALL logger_error( " READ ATT: can't read attribute in file "//&
+               CALL logger_error( " IOM READ ATT: can't read attribute in file "//&
                &               TRIM(td_file%c_name)//" : type unknown " )
          END SELECT
       ENDIF
 
-   END FUNCTION iom__read_var_name_att_name
-   !> @endcode
+   END FUNCTION iom__read_att_varname_name
    !-------------------------------------------------------------------
    !> @brief This function read attribute (of variable or global) in an opened 
@@ -386,14 +386,13 @@
    !
    !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file : file structure
-   !> @param[in] id_varid : variable id. use NF90_GLOBAL to read global
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file      file structure
+   !> @param[in] id_varid     variable id. use NF90_GLOBAL to read global
    !> attribute in a file
-   !> @param[in] cd_name : attribute name
+   !> @param[in] cd_attname   attribute name
    !> @return  attribute structure    
    !-------------------------------------------------------------------
-   !> @code
-   TYPE(TATT) FUNCTION iom__read_var_id_att_name( td_file, id_varid, &
+   TYPE(TATT) FUNCTION iom__read_att_varid_name( td_file, id_varid, &
    &                                              cd_attname)
       IMPLICIT NONE
@@ -407,16 +406,15 @@
       SELECT CASE(TRIM(td_file%c_type))
          CASE('cdf')
-            iom__read_var_id_att_name=iom_cdf_read_att( td_file, id_varid, &
+            iom__read_att_varid_name=iom_cdf_read_att( td_file, id_varid, &
             &                                           cd_attname)
          CASE('dimg')
-            CALL logger_warn( " READ ATT: can't read attribute in dimg file :"&
+            CALL logger_warn( " IOM READ ATT: can't read attribute in dimg file :"&
             &              //TRIM(td_file%c_name) )
          CASE DEFAULT
-            CALL logger_error( " READ ATT: can't read attribute in file "//&
-            &               TRIM(td_file%c_name)//" : type unknown " )
-      END SELECT
-
-   END FUNCTION iom__read_var_id_att_name
-   !> @endcode
+            CALL logger_error( " IOM READ ATT: can't read attribute in file "//&
+            &               TRIM(td_file%c_name)//" : type unknown " )
+      END SELECT
+
+   END FUNCTION iom__read_att_varid_name
    !-------------------------------------------------------------------
    !> @brief This function read one dimension in an opened file, 
@@ -424,11 +422,10 @@
    !
    !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file : file structure
-   !> @param[in] id_dimid : dimension id
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file   file structure
+   !> @param[in] id_dimid  dimension id
    !> @return  dimension structure 
    !-------------------------------------------------------------------
-   !> @code
    TYPE(TDIM) FUNCTION iom__read_dim_id(td_file, id_dimid)
       IMPLICIT NONE
@@ -445,10 +442,9 @@
             iom__read_dim_id=iom_rstdimg_read_dim(td_file, id_dimid)
          CASE DEFAULT
-            CALL logger_error( " READ DIM: can't read dimension in file "//&
+            CALL logger_error( " IOM READ DIM: can't read dimension in file "//&
             &               TRIM(td_file%c_name)//" : type unknown " )
       END SELECT      
 
    END FUNCTION iom__read_dim_id
-   !> @endcode
    !-------------------------------------------------------------------
    !> @brief This function read one dimension in an opened netcdf file, 
@@ -456,11 +452,10 @@
    !
    !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file : file structure
-   !> @param[in] cd_name : dimension name
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file   file structure
+   !> @param[in] cd_name   dimension name
    !> @return  dimension structure 
    !-------------------------------------------------------------------
-   !> @code
    TYPE(TDIM) FUNCTION iom__read_dim_name(td_file, cd_name)
       IMPLICIT NONE
@@ -477,27 +472,26 @@
             iom__read_dim_name=iom_rstdimg_read_dim(td_file, cd_name)
          CASE DEFAULT
-            CALL logger_error( " READ DIM: can't read dimension in file "//&
+            CALL logger_error( " IOM READ DIM: can't read dimension in file "//&
             &               TRIM(td_file%c_name)//" : type unknown " )
       END SELECT      
 
    END FUNCTION iom__read_dim_name
-   !> @endcode
    !-------------------------------------------------------------------
    !> @brief This function read variable value in an opened 
-   !> file, given variable id.</br/>
+   !> file, given variable id.
+   !> @details
    !> start indices and number of indices selected along each dimension 
-   !> could be specify in a 4 dimension table (/'x','y','z','t'/)
-   !
-   !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file : file structure
-   !> @param[in] id_varid : variable id
-   !> @param[in] id_start : index in the variable from which the data values 
+   !> could be specify in a 4 dimension array (/'x','y','z','t'/)
+   !
+   !> @author J.Paul
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file   file structure
+   !> @param[in] id_varid  variable id
+   !> @param[in] id_start  index in the variable from which the data values 
    !> will be read
-   !> @param[in] id_count : number of indices selected along each dimension
+   !> @param[in] id_count  number of indices selected along each dimension
    !> @return  variable structure 
    !-------------------------------------------------------------------
-   !> @code
    TYPE(TVAR) FUNCTION iom__read_var_id( td_file, id_varid,&
    &                                     id_start, id_count)
@@ -519,32 +513,29 @@
             &                                     id_start, id_count)
          CASE DEFAULT
-            CALL logger_error( " READ VAR: can't read variable in file "//&
+            CALL logger_error( " IOM READ VAR: can't read variable in file "//&
             &               TRIM(td_file%c_name)//" : type unknown " )
       END SELECT
 
    END FUNCTION iom__read_var_id
-   !> @endcode
    !-------------------------------------------------------------------
    !> @brief This function read variable value in an opened 
-   !> file, given variable name or standard name.</br/>
+   !> file, given variable name or standard name.
+   !> @details
    !> start indices and number of indices selected along each dimension 
-   !> could be specify in a 4 dimension table (/'x','y','z','t'/)
-   !
-   !> @details
+   !> could be specify in a 4 dimension array (/'x','y','z','t'/)
+   !>
    !> look first for variable name. If it doesn't
    !> exist in file, look for variable standard name.<br/>
-   !> If variable name is not present, check variable standard name.<br/>
-   !
-   !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file  : file structure
-   !> @param[in] cd_name  : variable name or standard name
-   !> @param[in] id_start : index in the variable from which the data values
+   !
+   !> @author J.Paul
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file   file structure
+   !> @param[in] cd_name   variable name or standard name
+   !> @param[in] id_start  index in the variable from which the data values
    !> will be read
-   !> @param[in] id_count : number of indices selected along each dimension
+   !> @param[in] id_count  number of indices selected along each dimension
    !> @return  variable structure 
    !-------------------------------------------------------------------
-   !> @code
    TYPE(TVAR) FUNCTION iom__read_var_name(td_file, cd_name,   &
    &                                      id_start, id_count  )
@@ -552,9 +543,7 @@
       ! Argument      
       TYPE(TFILE)                   , INTENT(IN) :: td_file
-      CHARACTER(LEN=*)              , INTENT(IN), OPTIONAL :: cd_name
+      CHARACTER(LEN=*)              , INTENT(IN) :: cd_name
       INTEGER(i4)     , DIMENSION(:), INTENT(IN), OPTIONAL :: id_start
       INTEGER(i4)     , DIMENSION(:), INTENT(IN), OPTIONAL :: id_count
-      !INTEGER(i4),      DIMENSION(ip_maxdim),  INTENT(IN), OPTIONAL :: id_start
-      !INTEGER(i4),      DIMENSION(ip_maxdim),  INTENT(IN), OPTIONAL :: id_count
       !----------------------------------------------------------------
       
@@ -568,138 +557,17 @@
             &                                   id_start, id_count )
          CASE DEFAULT
-            CALL logger_error( " READ VAR: can't read variable in file "//&
+            CALL logger_error( " IOM READ VAR: can't read variable in file "//&
             &               TRIM(td_file%c_name)//" : type unknown " )
       END SELECT
 
    END FUNCTION iom__read_var_name
-   !> @endcode
-   !-------------------------------------------------------------------
-   !> @brief This subroutine fill all variables value in an opened 
-   !> file.</br/>
-   !> start indices and number of indices selected along each dimension 
-   !> could be specify in a 4 dimension table (/'x','y','z','t'/)
-   !
-   !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[inout] td_file : file structure
-   !> @param[in] id_start : index in the variable from which the data values 
-   !> will be read
-   !> @param[in] id_count : number of indices selected along each dimension
-   !-------------------------------------------------------------------
-   !> @code
-   SUBROUTINE iom__fill_var_all( td_file, id_start, id_count)
-      IMPLICIT NONE
-      ! Argument      
-      TYPE(TFILE),                       INTENT(INOUT) :: td_file
-      INTEGER(i4), DIMENSION(ip_maxdim), INTENT(IN),   OPTIONAL :: id_start
-      INTEGER(i4), DIMENSION(ip_maxdim), INTENT(IN),   OPTIONAL :: id_count
-      !----------------------------------------------------------------
-
-      ! open file
-      SELECT CASE(TRIM(td_file%c_type))
-         CASE('cdf')
-            CALL iom_cdf_fill_var(td_file, id_start, id_count)
-         CASE('dimg')
-            CALL iom_rstdimg_fill_var(td_file, id_start, id_count)
-         CASE DEFAULT
-            CALL logger_error( " FILL VAR: can't read variable in file "//&
-            &               TRIM(td_file%c_name)//" : type unknown " )
-      END SELECT
-
-   END SUBROUTINE iom__fill_var_all
-   !> @endcode
-   !-------------------------------------------------------------------
-   !> @brief This subroutine fill variable value in an opened 
-   !> file, given variable id.</br/>
-   !> start indices and number of indices selected along each dimension 
-   !> could be specify in a 4 dimension table (/'x','y','z','t'/)
-   !
-   !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[inout] td_file : file structure
-   !> @param[in] id_varid : variable id
-   !> @param[in] id_start : index in the variable from which the data values 
-   !> will be read
-   !> @param[in] id_count : number of indices selected along each dimension
-   !-------------------------------------------------------------------
-   !> @code
-   SUBROUTINE iom__fill_var_id( td_file, id_varid, id_start, id_count)
-      IMPLICIT NONE
-      ! Argument      
-      TYPE(TFILE),                       INTENT(INOUT) :: td_file
-      INTEGER(i4),                       INTENT(IN)    :: id_varid
-      INTEGER(i4), DIMENSION(ip_maxdim), INTENT(IN),   OPTIONAL :: id_start
-      INTEGER(i4), DIMENSION(ip_maxdim), INTENT(IN),   OPTIONAL :: id_count
-      !----------------------------------------------------------------
-
-      ! open file
-      SELECT CASE(TRIM(td_file%c_type))
-         CASE('cdf')
-            CALL iom_cdf_fill_var(td_file, id_varid, id_start, id_count)
-         CASE('dimg')
-            CALL iom_rstdimg_fill_var(td_file, id_varid, id_start, id_count)
-         CASE DEFAULT
-            CALL logger_error( " FILL VAR: can't read variable in file "//&
-            &               TRIM(td_file%c_name)//" : type unknown " )
-      END SELECT
-
-   END SUBROUTINE iom__fill_var_id
-   !> @endcode
-   !-------------------------------------------------------------------
-   !> @brief This subroutine fill variable value in an opened 
-   !> file, given variable name or standard name.</br/>
-   !> start indices and number of indices selected along each dimension 
-   !> could be specify in a 4 dimension table (/'x','y','z','t'/)
-   !
-   !> @details
-   !> look first for variable name. If it doesn't
-   !> exist in file, look for variable standard name.<br/>
-   !> If variable name is not present, check variable standard name.<br/>
-   !
-   !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[inout] td_file : file structure
-   !> @param[in] cd_name  : variable name or standard name
-   !> @param[in] id_start : index in the variable from which the data values
-   !> will be read
-   !> @param[in] id_count : number of indices selected along each dimension
-   !-------------------------------------------------------------------
-   !> @code
-   SUBROUTINE iom__fill_var_name( td_file, cd_name, id_start, id_count )
-      IMPLICIT NONE
-      ! Argument      
-      TYPE(TFILE),                             INTENT(INOUT) :: td_file
-      CHARACTER(LEN=*),                        INTENT(IN)    :: cd_name
-      INTEGER(i4),      DIMENSION(ip_maxdim),  INTENT(IN),   OPTIONAL :: id_start
-      INTEGER(i4),      DIMENSION(ip_maxdim),  INTENT(IN),   OPTIONAL :: id_count
-      !----------------------------------------------------------------
-      
-      ! open file
-      SELECT CASE(TRIM(td_file%c_type))
-         CASE('cdf')
-            CALL iom_cdf_fill_var(td_file, cd_name, id_start, id_count )
-         CASE('dimg')
-            CALL iom_rstdimg_fill_var(td_file, cd_name, id_start, id_count )
-         CASE DEFAULT
-            CALL logger_error( " FILL VAR: can't read variable in file "//&
-            &               TRIM(td_file%c_name)//" : type unknown " )
-      END SELECT
-
-   END SUBROUTINE iom__fill_var_name
-   !> @endcode
    !-------------------------------------------------------------------
    !> @brief This subroutine write file structure in an opened file.
    !
-   !> @details
-   !
-   !> @author J.Paul
-   !> - Nov, 2013- Initial Version
-   !
-   !> @param[in] td_file : file structure
-   !-------------------------------------------------------------------
-   !> @code
+   !> @author J.Paul
+   !> - November, 2013- Initial Version
+   !
+   !> @param[in] td_file   file structure
+   !-------------------------------------------------------------------
    SUBROUTINE iom_write_file(td_file)
       IMPLICIT NONE
@@ -715,40 +583,9 @@
             CALL iom_rstdimg_write_file(td_file)
          CASE DEFAULT
-            CALL logger_error( " WRITE: can't write file "//&
+            CALL logger_error( " IOM WRITE: can't write file "//&
             &               TRIM(td_file%c_name)//" : type unknown " )
       END SELECT
 
    END SUBROUTINE iom_write_file
-   !> @endcode   
-!   !-------------------------------------------------------------------
-!   !> @brief This function get sub domain decomposition.
-!   !
-!   !> @details
-!   !
-!   !> @author J.Paul
-!   !> - Nov, 2013- Initial Version
-!   !
-!   !> @param[in] td_file : file structure
-!   !-------------------------------------------------------------------
-!   !> @code
-!   TYPE(TMPP) FUNCTION iom_get_mpp(td_file)
-!      IMPLICIT NONE
-!      ! Argument      
-!      TYPE(TFILE), INTENT(INOUT) :: td_file
-!      !----------------------------------------------------------------
-!
-!      ! open file
-!      SELECT CASE(TRIM(td_file%c_type))
-!         CASE('cdf')
-!            iom_get_mpp = iom_cdf_get_mpp(td_file)
-!         CASE('dimg')
-!            iom_get_mpp = iom_rstdimg_get_mpp(td_file)
-!         CASE DEFAULT
-!            CALL logger_error( " WRITE: can't write file "//&
-!            &               TRIM(td_file%c_name)//" : type unknown " )
-!      END SELECT
-!
-!   END FUNCTION iom_get_mpp
-!   !> @endcode
 END MODULE iom
 
