- Timestamp:
- 2016-04-07T16:32:24+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GC3p0_package/NEMOGCM/TOOLS/SIREN/src/multi.f90
r5037 r6440 61 61 !> @date October, 2014 62 62 !> - use mpp file structure instead of file 63 !> @date November, 2014 - Fix memory leaks bug 63 !> @date November, 2014 64 !> - Fix memory leaks bug 64 65 ! 65 66 !> @note Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 118 119 !> 119 120 !> @author J.Paul 120 !> - November, 2013- Initial Version121 !> @date November, 2013 - Initial Version 121 122 !> @date November, 2014 122 123 !> - use function instead of overload assignment operator (to avoid memory leak) … … 169 170 !> 170 171 !> @author J.Paul 171 !> - November, 2013- Initial Version 172 !> @date November, 2013 - Initial Version 173 !> @date July, 2015 174 !> - check if variable to be read is in file 175 !> @date January, 2016 176 !> - read variable dimensions 172 177 !> 173 178 !> @param[in] cd_varfile variable location information (from namelist) … … 184 189 185 190 ! local variable 186 CHARACTER(LEN=lc) :: cl_name 187 CHARACTER(LEN=lc) :: cl_lower 188 CHARACTER(LEN=lc) :: cl_file 189 CHARACTER(LEN=lc) :: cl_matrix 190 191 INTEGER(i4) :: il_nvar 192 193 LOGICAL :: ll_dim 194 195 TYPE(TVAR) :: tl_var 196 197 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 198 206 199 207 ! loop indices … … 212 220 213 221 IF( LEN(TRIM(cl_file)) == lc )THEN 214 CALL logger_fatal("MULTI INIT: file name too long ( ==256)."//&215 & "check namelist.")222 CALL logger_fatal("MULTI INIT: file name too long (>"//& 223 & TRIM(fct_str(lc))//"). check namelist.") 216 224 ENDIF 217 225 … … 239 247 ! 240 248 tl_mpp=mpp_init( file_init(TRIM(cl_file)) ) 241 242 249 ! define variable 243 250 IF( TRIM(fct_lower(cl_lower)) /= 'all' )THEN 244 251 245 ! clean var 252 ! check if variable is in file 253 il_varid=var_get_index(tl_mpp%t_proc(1)%t_var(:),cl_lower) 254 IF( il_varid == 0 )THEN 255 CALL logger_fatal("MULTI INIT: variable "//& 256 & TRIM(cl_name)//" not in file "//& 257 & TRIM(cl_file) ) 258 ENDIF 259 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 246 267 CALL mpp_del_var(tl_mpp) 247 268 248 tl_var=var_init(TRIM(cl_lower) )269 tl_var=var_init(TRIM(cl_lower), td_dim=tl_dim(:)) 249 270 250 271 ! add variable … … 260 281 261 282 DO jk=tl_mpp%t_proc(1)%i_nvar,1,-1 262 283 263 284 ! check if variable is dimension 264 285 ll_dim=.FALSE. … … 317 338 ! 318 339 !> @author J.Paul 319 !> - November, 2013- Initial Version340 !> @date November, 2013 - Initial Version 320 341 ! 321 342 !> @param[in] td_multi multi file structure … … 348 369 ! 349 370 !> @author J.Paul 350 !> - November, 2013- Initial Version371 !> @date November, 2013 - Initial Version 351 372 ! 352 373 !> @param[in] td_multi multi file structure … … 367 388 ! print file 368 389 IF( td_multi%i_nmpp /= 0 .AND. ASSOCIATED(td_multi%t_mpp) )THEN 369 WRITE(*,'(/a,i3)') 'MULTI: total number of mpp: ',&390 WRITE(*,'(/a,i3)') 'MULTI: total number of file(s): ',& 370 391 & td_multi%i_nmpp 371 WRITE(*,'(6x,a,i3)') ' total number of variable : ',&392 WRITE(*,'(6x,a,i3)') ' total number of variable(s): ',& 372 393 & td_multi%i_nvar 373 394 DO ji=1,td_multi%i_nmpp 374 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),& 375 396 & ' CONTAINS' 376 397 DO jj=1,td_multi%t_mpp(ji)%t_proc(1)%i_nvar … … 391 412 ! 392 413 !> @author J.Paul 393 !> - November, 2013- Initial Version414 !> @date November, 2013 - Initial Version 394 415 !> @date October, 2014 395 416 !> - use mpp file structure instead of file
Note: See TracChangeset
for help on using the changeset viewer.