New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 13369 for utils/tools/SIREN/src/iom_rstdimg.f90 – NEMO

Ignore:
Timestamp:
2020-07-31T10:50:52+02:00 (4 years ago)
Author:
jpaul
Message:

update: cf changelog inside documentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • utils/tools/SIREN/src/iom_rstdimg.f90

    r12080 r13369  
    4545!>       - id_varid is variabale id 
    4646!>       - cd_name is variabale name or standard name 
    47 !>       - id_start is a integer(4) 1D array of index from which the data  
     47!>       - id_start is a integer(4) 1D array of index from which the data 
    4848!>          values will be read [optional] 
    4949!>       - id_count is a integer(4) 1D array of the number of indices selected 
     
    5959!> 
    6060!> @date November, 2013 - Initial Version 
    61 !> @date August, 2017  
     61!> @date August, 2017 
    6262!> - handle use of domain decomposition for monoproc file 
    6363!> 
     
    8080 
    8181   ! type and variable 
    82    PRIVATE ::  im_vnl !< variable name length  
     82   PRIVATE ::  im_vnl !< variable name length 
    8383 
    8484   ! function and subroutine 
     
    104104   PRIVATE :: iom_rstdimg__get_rec         ! compute record number before writing file 
    105105   PRIVATE :: iom_rstdimg__write_header    ! write header in an opened dimg file 
    106    PRIVATE :: iom_rstdimg__write_var       ! write variables in an opened dimg file  
     106   PRIVATE :: iom_rstdimg__write_var       ! write variables in an opened dimg file 
    107107 
    108108   ! module variable 
     
    143143      IMPLICIT NONE 
    144144 
    145       ! Argument       
     145      ! Argument 
    146146      TYPE(TFILE), INTENT(INOUT)  :: td_file 
    147147 
     
    162162            CALL logger_fatal( " OPEN: can not open dimg file "//& 
    163163            &               TRIM(td_file%c_name) ) 
    164           
     164 
    165165         ELSE 
    166166 
     
    246246                  &  TRIM(td_file%c_name)& 
    247247                  &  //" with record length "//TRIM(fct_str(td_file%i_recl))) 
    248                ENDIF                
     248               ENDIF 
    249249 
    250250            ELSE 
     
    268268                  CALL logger_error("IOM RSTDIMG  OPEN: file "//& 
    269269                  & TRIM(td_file%c_name)) 
    270                ENDIF         
     270               ENDIF 
    271271 
    272272            ENDIF 
     
    299299      IMPLICIT NONE 
    300300 
    301       ! Argument       
     301      ! Argument 
    302302      TYPE(TFILE), INTENT(INOUT) :: td_file 
    303303 
     
    312312         &  " CLOSE: no id associated to file "//TRIM(td_file%c_name)) 
    313313 
    314       ELSE       
     314      ELSE 
    315315         CALL logger_info( & 
    316316         &  " CLOSE: file "//TRIM(td_file%c_name)) 
     
    322322         ENDIF 
    323323 
    324          td_file%i_id = 0  
     324         td_file%i_id = 0 
    325325 
    326326      ENDIF 
     
    330330   SUBROUTINE iom_rstdimg__get_info(td_file) 
    331331   !------------------------------------------------------------------- 
    332    !> @brief This subroutine get global information in an opened dimg  
     332   !> @brief This subroutine get global information in an opened dimg 
    333333   !> file. 
    334334   !> @details 
    335    !> It gets the number of variables, the  domain decompistion,  
     335   !> It gets the number of variables, the  domain decompistion, 
    336336   !> the record of the header.<br/> 
    337    !> It read dimensions, and add it to dimension structure inside  
     337   !> It read dimensions, and add it to dimension structure inside 
    338338   !> file structure. 
    339339   !> 
     
    348348      IMPLICIT NONE 
    349349 
    350       ! Argument       
     350      ! Argument 
    351351      TYPE(TFILE), INTENT(INOUT) :: td_file 
    352352 
    353353      ! local variable 
    354354      INTEGER(i4) :: il_status 
    355       INTEGER(i4) :: il_recl                          ! record length  
    356       INTEGER(i4) :: il_nx, il_ny, il_nz              ! x,y,z dimension  
    357       INTEGER(i4) :: il_n0d, il_n1d, il_n2d, il_n3d   ! number of 0/1/2/3D variables  
     355      INTEGER(i4) :: il_recl                          ! record length 
     356      INTEGER(i4) :: il_nx, il_ny, il_nz              ! x,y,z dimension 
     357      INTEGER(i4) :: il_n0d, il_n1d, il_n2d, il_n3d   ! number of 0/1/2/3D variables 
    358358      INTEGER(i4) :: il_rhd                           ! record of the header infos 
    359359 
    360       TYPE(TDIM)  :: tl_dim ! dimension structure  
     360      TYPE(TDIM)  :: tl_dim ! dimension structure 
    361361      !---------------------------------------------------------------- 
    362362 
     
    364364      &  " IOM RSTDIMG GET INFO: about dimg file "//TRIM(td_file%c_name)) 
    365365 
    366       ! read first record  
    367       READ( td_file%i_id, IOSTAT=il_status, REC=1 )&  
     366      ! read first record 
     367      READ( td_file%i_id, IOSTAT=il_status, REC=1 )& 
    368368      &     il_recl,                         & 
    369369      &     il_nx, il_ny, il_nz,             & 
     
    391391      CALL dim_reorder(td_file%t_dim) 
    392392 
    393       ! save total number of variable  
     393      ! save total number of variable 
    394394      td_file%i_n0d=il_n0d 
    395395      td_file%i_n1d=il_n1d 
     
    422422      IMPLICIT NONE 
    423423 
    424       ! Argument       
     424      ! Argument 
    425425      TYPE(TFILE), INTENT(INOUT) :: td_file 
    426426 
     
    428428      TYPE(TATT)  :: tl_att 
    429429      INTEGER(i4) :: il_status 
    430       INTEGER(i4) :: il_recl                          ! record length  
    431       INTEGER(i4) :: il_nx, il_ny, il_nz              ! x,y,z dimension  
    432       INTEGER(i4) :: il_n0d, il_n1d, il_n2d, il_n3d   ! number of 0/1/2/3D variables  
     430      INTEGER(i4) :: il_recl                          ! record length 
     431      INTEGER(i4) :: il_nx, il_ny, il_nz              ! x,y,z dimension 
     432      INTEGER(i4) :: il_n0d, il_n1d, il_n2d, il_n3d   ! number of 0/1/2/3D variables 
    433433      INTEGER(i4) :: il_iglo, il_jglo                 ! domain global size 
    434434      INTEGER(i4) :: il_rhd                           ! record of the header infos 
     
    449449      &  TRIM(td_file%c_name)) 
    450450 
    451       ! read first record  
    452       READ( td_file%i_id, IOSTAT=il_status, REC=1 )&  
     451      ! read first record 
     452      READ( td_file%i_id, IOSTAT=il_status, REC=1 )& 
    453453      &     il_recl,                         & 
    454454      &     il_nx, il_ny, il_nz,             & 
     
    495495      ENDIF 
    496496 
    497       ! read first record  
    498       READ( td_file%i_id, IOSTAT=il_status, REC=1 )&  
     497      ! read first record 
     498      READ( td_file%i_id, IOSTAT=il_status, REC=1 )& 
    499499      &     il_recl,                         & 
    500500      &     il_nx, il_ny, il_nz,             & 
     
    548548   SUBROUTINE iom_rstdimg__get_file_var(td_file) 
    549549   !------------------------------------------------------------------- 
    550    !> @brief This subroutine read information about variable on an  
     550   !> @brief This subroutine read information about variable on an 
    551551   !> opened dimg file. 
    552552   !> @details 
     
    563563      IMPLICIT NONE 
    564564 
    565       ! Argument       
     565      ! Argument 
    566566      TYPE(TFILE), INTENT(INOUT) :: td_file 
    567567 
     
    582582         il_start(1) = 1 
    583583         il_count(1) = td_file%i_n0d 
    584           
     584 
    585585         il_start(2) = 1 + il_count(1) 
    586586         il_count(2) = il_start(2) - 1 + td_file%i_n1d 
    587           
     587 
    588588         il_start(3) = 1 + il_count(2) 
    589589         il_count(3) = il_start(3) - 1 + td_file%i_n2d 
    590           
     590 
    591591         il_start(4) = 1 + il_count(3) 
    592592         il_count(4) = il_start(4) - 1 + td_file%i_n3d 
    593           
     593 
    594594         ALLOCATE( cl_name(td_file%i_nvar), dl_value(td_file%i_nvar) ) 
    595595 
    596          ! read first record  
    597          READ( td_file%i_id, IOSTAT=il_status, REC=td_file%i_rhd )&  
     596         ! read first record 
     597         READ( td_file%i_id, IOSTAT=il_status, REC=td_file%i_rhd )& 
    598598         & cl_name(il_start(1):il_count(1)), dl_value(il_start(1):il_count(1)),& 
    599599         & cl_name(il_start(2):il_count(2)), dl_value(il_start(2):il_count(2)),& 
     
    646646   SUBROUTINE iom_rstdimg__get_file_var_0d(td_file, cd_name, dd_value) 
    647647   !------------------------------------------------------------------- 
    648    !> @brief This subroutine put informations about scalar variable  
     648   !> @brief This subroutine put informations about scalar variable 
    649649   !> inside file structure. 
    650650   !> 
     
    659659      IMPLICIT NONE 
    660660 
    661       ! Argument       
     661      ! Argument 
    662662      TYPE(TFILE),                         INTENT(INOUT) :: td_file 
    663663      CHARACTER(LEN=im_vnl), DIMENSION(:), INTENT(IN)    :: cd_name 
     
    676676      tl_dim(:)%l_use=.FALSE. 
    677677      tl_dim(:)%i_len=1 
    678        
     678 
    679679      ! case scalar variable 
    680680      DO ji = 1, td_file%i_n0d 
    681     
     681 
    682682         td_file%t_var(ji)=var_init( TRIM(cd_name(ji)), NF90_DOUBLE, & 
    683683         &                           tl_dim(:), dd_fill=0._dp,       & 
     
    701701   SUBROUTINE iom_rstdimg__get_file_var_1d(td_file, cd_name, dd_value) 
    702702   !------------------------------------------------------------------- 
    703    !> @brief This subroutine put informations about variable 1D  
     703   !> @brief This subroutine put informations about variable 1D 
    704704   !> inside file structure. 
    705705   !> 
     
    707707   !> @date November, 2013 - Initial Version 
    708708   !> @date July, 2016 
    709    !>    - change right dimension struct  
     709   !>    - change right dimension struct 
    710710   !> 
    711711   !> @param[inout] td_file   file structure 
     
    716716      IMPLICIT NONE 
    717717 
    718       ! Argument       
     718      ! Argument 
    719719      TYPE(TFILE),                         INTENT(INOUT) :: td_file 
    720720      CHARACTER(LEN=im_vnl), DIMENSION(:), INTENT(IN)    :: cd_name 
     
    737737         tl_dim(1:2)%l_use=.FALSE. 
    738738         tl_dim(1:2)%i_len=1 
    739        
     739 
    740740         td_file%t_var(ji)=var_init( TRIM(cd_name(ji)), NF90_DOUBLE, & 
    741741         &                           tl_dim(:), dd_fill=0._dp,       & 
     
    751751   SUBROUTINE iom_rstdimg__get_file_var_2d(td_file, cd_name, dd_value) 
    752752   !------------------------------------------------------------------- 
    753    !> @brief This subroutine put informations about variable 2D  
     753   !> @brief This subroutine put informations about variable 2D 
    754754   !> inside file structure. 
    755755   !> 
     
    764764      IMPLICIT NONE 
    765765 
    766       ! Argument       
     766      ! Argument 
    767767      TYPE(TFILE),                         INTENT(INOUT) :: td_file 
    768768      CHARACTER(LEN=im_vnl), DIMENSION(:), INTENT(IN)    :: cd_name 
     
    784784         ! do not use Z dimension 
    785785         tl_dim(3)%l_use=.FALSE. 
    786          tl_dim(3)%i_len=1        
     786         tl_dim(3)%i_len=1 
    787787 
    788788         td_file%t_var(ji)=var_init( TRIM(cd_name(ji)), NF90_DOUBLE, & 
     
    799799   SUBROUTINE iom_rstdimg__get_file_var_3d(td_file, cd_name, dd_value) 
    800800   !------------------------------------------------------------------- 
    801    !> @brief This subroutine put informations about variable 3D  
     801   !> @brief This subroutine put informations about variable 3D 
    802802   !> inside file structure. 
    803803   !> 
     
    812812      IMPLICIT NONE 
    813813 
    814       ! Argument       
     814      ! Argument 
    815815      TYPE(TFILE),                         INTENT(INOUT) :: td_file 
    816816      CHARACTER(LEN=im_vnl), DIMENSION(:), INTENT(IN)    :: cd_name 
     
    829829 
    830830         ! define same dimension as in file 
    831          tl_dim(:)=dim_copy(td_file%t_dim(:))  
     831         tl_dim(:)=dim_copy(td_file%t_dim(:)) 
    832832 
    833833         td_file%t_var(ji)=var_init( TRIM(cd_name(ji)), NF90_DOUBLE, & 
     
    845845         & RESULT (tf_dim) 
    846846   !------------------------------------------------------------------- 
    847    !> @brief This function read one dimension in an opened netcdf file,  
     847   !> @brief This function read one dimension in an opened netcdf file, 
    848848   !> given dimension id. 
    849849   !> 
     
    853853   !> @param[in] td_file   file structure 
    854854   !> @param[in] id_dimid  dimension id 
    855    !> @return  dimension structure  
     855   !> @return  dimension structure 
    856856   !------------------------------------------------------------------- 
    857857 
    858858      IMPLICIT NONE 
    859859 
    860       ! Argument       
     860      ! Argument 
    861861      TYPE(TFILE), INTENT(IN) :: td_file 
    862862      INTEGER(i4), INTENT(IN) :: id_dimid 
     
    872872         &  " READ DIM: no id associated to dimg file "//TRIM(td_file%c_name)) 
    873873 
    874       ELSE       
     874      ELSE 
    875875 
    876876         tf_dim%i_id=id_dimid 
     
    895895         & RESULT (tf_dim) 
    896896   !------------------------------------------------------------------- 
    897    !> @brief This function read one dimension in an opened netcdf file,  
     897   !> @brief This function read one dimension in an opened netcdf file, 
    898898   !> given dimension name. 
    899899   !> 
     
    903903   !> @param[in] td_file   file structure 
    904904   !> @param[in] cd_name   dimension name 
    905    !> @return  dimension structure  
     905   !> @return  dimension structure 
    906906   !------------------------------------------------------------------- 
    907907 
    908908      IMPLICIT NONE 
    909909 
    910       ! Argument       
     910      ! Argument 
    911911      TYPE(TFILE),      INTENT(IN) :: td_file 
    912912      CHARACTER(LEN=*), INTENT(IN) :: cd_name 
     
    925925         &  " READ DIM: no id associated to dimg file "//TRIM(td_file%c_name)) 
    926926 
    927       ELSE       
     927      ELSE 
    928928 
    929929         il_dimid=dim_get_id(td_file%t_dim(:), TRIM(cd_name)) 
     
    943943         & RESULT (tf_var) 
    944944   !------------------------------------------------------------------- 
    945    !> @brief This function read variable value in an opened  
     945   !> @brief This function read variable value in an opened 
    946946   !> dimg file, given variable id. 
    947947   !> @details 
    948    !> Optionaly, start indices and number of indices selected along each dimension  
     948   !> Optionaly, start indices and number of indices selected along each dimension 
    949949   !> could be specify in a 4 dimension array (/'x','y','z','t'/) 
    950950   !> 
     
    954954   !> @param[in] td_file   file structure 
    955955   !> @param[in] id_varid  variable id 
    956    !> @param[in] id_start  index in the variable from which the data values  
     956   !> @param[in] id_start  index in the variable from which the data values 
    957957   !> will be read 
    958958   !> @param[in] id_count  number of indices selected along each dimension 
    959    !> @return  variable structure  
     959   !> @return  variable structure 
    960960   !------------------------------------------------------------------- 
    961961 
    962962      IMPLICIT NONE 
    963963 
    964       ! Argument       
     964      ! Argument 
    965965      TYPE(TFILE),               INTENT(IN) :: td_file 
    966966      INTEGER(i4),               INTENT(IN) :: id_varid 
     
    995995               &               TRIM(td_file%t_var(il_varid(1))%c_name)//& 
    996996               &               " should be already read ") 
    997             ENDIF             
     997            ENDIF 
    998998 
    999999         ELSE 
     
    10091009         & RESULT (tf_var) 
    10101010   !------------------------------------------------------------------- 
    1011    !> @brief This function read variable value in an opened  
     1011   !> @brief This function read variable value in an opened 
    10121012   !> dimg file, given variable name or standard name. 
    10131013   !> @details 
    1014    !> Optionaly, start indices and number of indices selected along each dimension  
     1014   !> Optionaly, start indices and number of indices selected along each dimension 
    10151015   !> could be specify in a 4 dimension array (/'x','y','z','t'/) 
    10161016   !> 
     
    10221022   !> 
    10231023   !> @param[in] td_file   file structure 
    1024    !> @param[in] cd_name   variable name or standard name  
    1025    !> @param[in] id_start  index in the variable from which the data values  
     1024   !> @param[in] cd_name   variable name or standard name 
     1025   !> @param[in] id_start  index in the variable from which the data values 
    10261026   !> will be read 
    10271027   !> @param[in] id_count  number of indices selected along each dimension 
    1028    !> @return  variable structure  
     1028   !> @return  variable structure 
    10291029   !------------------------------------------------------------------- 
    10301030 
    10311031      IMPLICIT NONE 
    10321032 
    1033       ! Argument  
     1033      ! Argument 
    10341034      TYPE(TFILE),                     INTENT(IN) :: td_file 
    10351035      CHARACTER(LEN=*),                INTENT(IN) :: cd_name 
     
    10751075 
    10761076      ENDIF 
    1077        
     1077 
    10781078   END FUNCTION iom_rstdimg__read_var_name 
    10791079   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    10831083   !> variable 1,2,3d. 
    10841084   !> @details 
    1085    !> Optionaly,start indices and number of indices selected along each dimension  
     1085   !> Optionaly,start indices and number of indices selected along each dimension 
    10861086   !> could be specify in a 4 dimension array (/'x','y','z','t'/) 
    10871087   !> 
     
    10991099      IMPLICIT NONE 
    11001100 
    1101       ! Argument       
     1101      ! Argument 
    11021102      TYPE(TFILE),               INTENT(IN)    :: td_file 
    11031103      TYPE(TVAR) ,               INTENT(INOUT) :: td_var 
     
    11911191         CALL logger_trace( & 
    11921192         &  " READ VAR VALUE: get variable "//TRIM(td_var%c_name)//& 
    1193          &  " in file "//TRIM(td_file%c_name))      
     1193         &  " in file "//TRIM(td_file%c_name)) 
    11941194 
    11951195         IF( ALL(td_var%t_dim(1:3)%l_use) )THEN 
     
    11971197            ALLOCATE(dl_tmp( td_var%t_dim(1)%i_len, & 
    11981198            &                td_var%t_dim(2)%i_len, & 
    1199             &                td_var%t_dim(4)%i_len) )            
     1199            &                td_var%t_dim(4)%i_len) ) 
    12001200            DO ji=1,td_var%t_dim(3)%i_len 
    12011201               READ(td_file%i_id, IOSTAT=il_status, REC=td_var%i_rec +ji-1) & 
     
    12281228            ENDIF 
    12291229         ENDIF 
    1230   
     1230 
    12311231         ! Allocate space to hold variable value in structure 
    12321232         IF( ASSOCIATED(td_var%d_value) )THEN 
    1233             DEALLOCATE(td_var%d_value)    
     1233            DEALLOCATE(td_var%d_value) 
    12341234         ENDIF 
    12351235 
     
    12531253         td_var%t_dim(:)%i_len=il_count(:) 
    12541254 
    1255          ! extract value  
     1255         ! extract value 
    12561256         td_var%d_value(:,:,:,:) = dl_value(il_start(1):il_start(1)+il_count(1)-1,& 
    12571257         &                                  il_start(2):il_start(2)+il_count(2)-1,& 
     
    12631263      ENDIF 
    12641264 
    1265       ! force to change _FillValue to avoid mistake  
     1265      ! force to change _FillValue to avoid mistake 
    12661266      ! with dummy zero _FillValue 
    12671267      IF( td_var%d_fill == 0._dp )THEN 
     
    12891289   !> - use iom_rstdimg__get_rec 
    12901290   !> @date August, 2017 
    1291    !> - split in write_header and write_var  
     1291   !> - split in write_header and write_var 
    12921292   !> 
    12931293   !> @param[inout] td_file   file structure 
     
    12961296      IMPLICIT NONE 
    12971297 
    1298       ! Argument       
     1298      ! Argument 
    12991299      TYPE(TFILE), INTENT(INOUT) :: td_file 
    13001300 
     
    13221322            CALL iom_rstdimg_close(td_file) 
    13231323 
    1324             ! compute record number to be used  
     1324            ! compute record number to be used 
    13251325            ! and add variable no0d, no1d,.. if need be 
    13261326            CALL iom_rstdimg__get_rec(td_file) 
     
    13871387   !> - use iom_rstdimg__get_rec 
    13881388   !> @date August, 2017 
    1389    !> - split in write_header and write_var  
     1389   !> - split in write_header and write_var 
    13901390   !> 
    13911391   !> @param[inout] td_file   file structure 
     
    13941394      IMPLICIT NONE 
    13951395 
    1396       ! Argument       
     1396      ! Argument 
    13971397      TYPE(TFILE), INTENT(INOUT) :: td_file 
    13981398 
     
    14091409 
    14101410            ! write variable in file 
    1411             CALL iom_rstdimg__write_var(td_file)  
     1411            CALL iom_rstdimg__write_var(td_file) 
    14121412 
    14131413         ELSE 
     
    14371437      IMPLICIT NONE 
    14381438 
    1439       ! Argument       
     1439      ! Argument 
    14401440      TYPE(TFILE), INTENT(INOUT) :: td_file 
    14411441 
     
    14651465         il_tmp1d(:)=-1 
    14661466 
    1467          tl_var=var_init( 'no1d', il_tmp1d(:))  
     1467         tl_var=var_init( 'no1d', il_tmp1d(:)) 
    14681468 
    14691469         DEALLOCATE( il_tmp1d ) 
    14701470 
    1471          CALL file_add_var( td_file, tl_var )  
    1472       ENDIF 
    1473   
     1471         CALL file_add_var( td_file, tl_var ) 
     1472      ENDIF 
     1473 
    14741474      IF( td_file%i_n2d == 0 )THEN 
    14751475         ! create var 
     
    14821482         DEALLOCATE( il_tmp2d ) 
    14831483 
    1484          CALL file_add_var( td_file, tl_var )  
    1485  
    1486       ENDIF 
    1487   
     1484         CALL file_add_var( td_file, tl_var ) 
     1485 
     1486      ENDIF 
     1487 
    14881488      IF( td_file%i_n3d == 0 )THEN 
    14891489         ! create var 
     
    14971497         DEALLOCATE( il_tmp3d ) 
    14981498 
    1499          CALL file_add_var( td_file, tl_var )  
     1499         CALL file_add_var( td_file, tl_var ) 
    15001500      ENDIF 
    15011501 
     
    15341534   SUBROUTINE iom_rstdimg__write_header(td_file) 
    15351535   !------------------------------------------------------------------- 
    1536    !> @brief This subroutine write header in an opened dimg  
     1536   !> @brief This subroutine write header in an opened dimg 
    15371537   !> file in write mode. 
    15381538   !> 
     
    15471547      IMPLICIT NONE 
    15481548 
    1549       ! Argument       
     1549      ! Argument 
    15501550      TYPE(TFILE), INTENT(INOUT) :: td_file 
    15511551 
     
    15681568      INTEGER(i4), DIMENSION(:), ALLOCATABLE :: il_lei 
    15691569      INTEGER(i4), DIMENSION(:), ALLOCATABLE :: il_lej 
    1570        
     1570 
    15711571      ! loop indices 
    15721572      INTEGER(i4) :: ji 
     
    16131613      &   il_nproc <= 0 .OR. & 
    16141614      &   il_nproc > il_niproc * il_njproc )THEN 
    1615        
     1615 
    16161616         CALL logger_error(" WRITE FILE: invalid domain splitting ") 
    16171617 
     
    16211621 
    16221622      ENDIF 
    1623        
     1623 
    16241624      ! get domain number 
    16251625      il_ind=att_get_index( td_file%t_att, "DOMAIN_number" ) 
     
    16691669         il_jmpp(:) = INT(td_file%t_att(il_ind)%d_value(:)) 
    16701670      ENDIF 
    1671        
     1671 
    16721672      ! check left bottom indices 
    16731673      IF( ANY(il_impp(:)==0) .OR. ANY(il_jmpp(:)==0) )THEN 
     
    17051705         il_ldj(:) = INT(td_file%t_att(il_ind)%d_value(:)) 
    17061706      ENDIF 
    1707        
     1707 
    17081708      ! check first indoor indices 
    17091709      IF( ANY(il_ldi(:)==0) .OR. ANY(il_ldj(:)==0) )THEN 
     
    17271727      IF( ANY(il_lei(:)==0) .OR. ANY(il_lej(:)==0) )THEN 
    17281728         CALL logger_warn("WRITE FILE: no data for subdomain last indoor indices") 
    1729       ENDIF       
     1729      ENDIF 
    17301730 
    17311731      ! write file header 
     
    17531753      &           il_lei,  il_lej  ) 
    17541754 
    1755    END SUBROUTINE iom_rstdimg__write_header  
     1755   END SUBROUTINE iom_rstdimg__write_header 
    17561756   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    17571757   SUBROUTINE iom_rstdimg__write_var(td_file) 
     
    17691769      IMPLICIT NONE 
    17701770 
    1771       ! Argument       
     1771      ! Argument 
    17721772      TYPE(TFILE), INTENT(INOUT) :: td_file 
    17731773 
     
    17961796         cl_name(ji)  = TRIM(td_file%t_var(ji)%c_name) 
    17971797         dl_value(ji) = REAL(td_file%t_var(ji)%i_rec,dp) 
    1798           
     1798 
    17991799         SELECT CASE (TRIM(td_file%t_var(ji)%c_name)) 
    18001800            CASE('no0d','no1d','no2d','no3d') 
    18011801            CASE DEFAULT 
    1802                 
     1802 
    18031803               ! use scale factor and offset 
    18041804               WHERE( td_file%t_var(ji)%d_value(:,:,:,:) /= & 
     
    18201820                     CASE(3) 
    18211821                        il_rec = td_file%t_var(ji)%i_rec + jk -1 
    1822                   END SELECT  
     1822                  END SELECT 
    18231823                  WRITE( td_file%i_id, IOSTAT=il_status, REC=il_rec ) & 
    18241824                  &  td_file%t_var(ji)%d_value(:,:,jk,1) 
     
    18381838      il_start(1) = 1 
    18391839      il_count(1) = td_file%i_n0d 
    1840        
     1840 
    18411841      il_start(2) = 1 + il_count(1) 
    18421842      il_count(2) = il_start(2) - 1 + td_file%i_n1d 
    1843        
     1843 
    18441844      il_start(3) = 1 + il_count(2) 
    18451845      il_count(3) = il_start(3) - 1 + td_file%i_n2d 
    1846        
     1846 
    18471847      il_start(4) = 1 + il_count(3) 
    18481848      il_count(4) = il_start(4) - 1 + td_file%i_n3d 
Note: See TracChangeset for help on using the changeset viewer.