- Timestamp:
- 2016-11-28T17:04:10+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_INGV_UKMO_2016/NEMOGCM/TOOLS/SIREN/src/multi.f90
r5617 r7351 173 173 !> @date July, 2015 174 174 !> - check if variable to be read is in file 175 !> @date January, 2016 176 !> - read variable dimensions 175 177 !> 176 178 !> @param[in] cd_varfile variable location information (from namelist) … … 187 189 188 190 ! 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 202 206 203 207 ! loop indices … … 216 220 217 221 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.") 220 224 ENDIF 221 225 … … 243 247 ! 244 248 tl_mpp=mpp_init( file_init(TRIM(cl_file)) ) 245 246 249 ! define variable 247 250 IF( TRIM(fct_lower(cl_lower)) /= 'all' )THEN … … 255 258 ENDIF 256 259 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 258 267 CALL mpp_del_var(tl_mpp) 259 268 260 tl_var=var_init(TRIM(cl_lower) )269 tl_var=var_init(TRIM(cl_lower), td_dim=tl_dim(:)) 261 270 262 271 ! add variable … … 272 281 273 282 DO jk=tl_mpp%t_proc(1)%i_nvar,1,-1 274 283 275 284 ! check if variable is dimension 276 285 ll_dim=.FALSE. … … 379 388 ! print file 380 389 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): ',& 382 391 & td_multi%i_nmpp 383 WRITE(*,'(6x,a,i3)') ' total number of variable : ',&392 WRITE(*,'(6x,a,i3)') ' total number of variable(s): ',& 384 393 & td_multi%i_nvar 385 394 DO ji=1,td_multi%i_nmpp 386 WRITE(*,'(3x,3a)') ' MPPFILE ',TRIM(td_multi%t_mpp(ji)%c_name),&395 WRITE(*,'(3x,3a)') 'FILE ',TRIM(td_multi%t_mpp(ji)%c_name),& 387 396 & ' CONTAINS' 388 397 DO jj=1,td_multi%t_mpp(ji)%t_proc(1)%i_nvar
Note: See TracChangeset
for help on using the changeset viewer.