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 7351 for branches/2016/dev_INGV_UKMO_2016/NEMOGCM/TOOLS/SIREN/src/multi.f90 – NEMO

Ignore:
Timestamp:
2016-11-28T17:04:10+01:00 (7 years ago)
Author:
emanuelaclementi
Message:

ticket #1805 step 3: /2016/dev_INGV_UKMO_2016 aligned to the trunk at revision 7161

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_INGV_UKMO_2016/NEMOGCM/TOOLS/SIREN/src/multi.f90

    r5617 r7351  
    173173   !> @date July, 2015  
    174174   !> - check if variable to be read is in file 
     175   !> @date January, 2016 
     176   !> - read variable dimensions 
    175177   !> 
    176178   !> @param[in] cd_varfile   variable location information (from namelist)  
     
    187189 
    188190      ! local variable 
    189       CHARACTER(LEN=lc) :: cl_name 
    190       CHARACTER(LEN=lc) :: cl_lower 
    191       CHARACTER(LEN=lc) :: cl_file 
    192       CHARACTER(LEN=lc) :: cl_matrix 
    193  
    194       INTEGER(i4)       :: il_nvar 
    195       INTEGER(i4)       :: il_varid 
    196  
    197       LOGICAL           :: ll_dim 
    198  
    199       TYPE(TVAR)        :: tl_var 
    200  
    201       TYPE(TMPP)        :: tl_mpp 
     191      CHARACTER(LEN=lc)                :: cl_name 
     192      CHARACTER(LEN=lc)                :: cl_lower 
     193      CHARACTER(LEN=lc)                :: cl_file 
     194      CHARACTER(LEN=lc)                :: cl_matrix 
     195 
     196      INTEGER(i4)                      :: il_nvar 
     197      INTEGER(i4)                      :: il_varid 
     198 
     199      LOGICAL                          :: ll_dim 
     200 
     201      TYPE(TDIM), DIMENSION(ip_maxdim) :: tl_dim 
     202 
     203      TYPE(TVAR)                       :: tl_var 
     204 
     205      TYPE(TMPP)                       :: tl_mpp 
    202206 
    203207      ! loop indices 
     
    216220 
    217221         IF( LEN(TRIM(cl_file)) == lc )THEN 
    218             CALL logger_fatal("MULTI INIT: file name too long (==256)."//& 
    219             &  " check namelist.") 
     222            CALL logger_fatal("MULTI INIT: file name too long (>"//& 
     223            &          TRIM(fct_str(lc))//"). check namelist.") 
    220224         ENDIF 
    221225 
     
    243247                  !  
    244248                  tl_mpp=mpp_init( file_init(TRIM(cl_file)) ) 
    245  
    246249                  ! define variable 
    247250                  IF( TRIM(fct_lower(cl_lower)) /= 'all' )THEN 
     
    255258                     ENDIF 
    256259 
    257                      ! clean var 
     260                     ! get (global) variable dimension 
     261                     tl_dim(jp_I)=dim_copy(tl_mpp%t_dim(jp_I)) 
     262                     tl_dim(jp_J)=dim_copy(tl_mpp%t_dim(jp_J)) 
     263                     tl_dim(jp_K)=dim_copy(tl_mpp%t_proc(1)%t_var(il_varid)%t_dim(jp_K)) 
     264                     tl_dim(jp_L)=dim_copy(tl_mpp%t_proc(1)%t_var(il_varid)%t_dim(jp_L)) 
     265 
     266                     ! clean all varible 
    258267                     CALL mpp_del_var(tl_mpp) 
    259268 
    260                      tl_var=var_init(TRIM(cl_lower)) 
     269                     tl_var=var_init(TRIM(cl_lower), td_dim=tl_dim(:)) 
    261270 
    262271                     ! add variable 
     
    272281 
    273282                     DO jk=tl_mpp%t_proc(1)%i_nvar,1,-1 
    274                          
     283 
    275284                        ! check if variable is dimension 
    276285                        ll_dim=.FALSE. 
     
    379388      ! print file 
    380389      IF( td_multi%i_nmpp /= 0 .AND. ASSOCIATED(td_multi%t_mpp) )THEN 
    381          WRITE(*,'(/a,i3)') 'MULTI: total number of mpp: ',& 
     390         WRITE(*,'(/a,i3)') 'MULTI: total number of file(s): ',& 
    382391         &  td_multi%i_nmpp 
    383          WRITE(*,'(6x,a,i3)') ' total number of variable: ',& 
     392         WRITE(*,'(6x,a,i3)') ' total number of variable(s): ',& 
    384393         &  td_multi%i_nvar 
    385394         DO ji=1,td_multi%i_nmpp 
    386             WRITE(*,'(3x,3a)') 'MPP FILE ',TRIM(td_multi%t_mpp(ji)%c_name),& 
     395            WRITE(*,'(3x,3a)') 'FILE ',TRIM(td_multi%t_mpp(ji)%c_name),& 
    387396            & ' CONTAINS' 
    388397            DO jj=1,td_multi%t_mpp(ji)%t_proc(1)%i_nvar 
Note: See TracChangeset for help on using the changeset viewer.