Subroutine read_shufflevar

334 : 
335 : !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
336 : !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
337 : !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
338 : 
339 :       subroutine read_shufflevar ()
340 :       use vom_sce_mod
341 :       implicit none
342 : 
343 :       INTEGER :: iostat
344 :       CHARACTER(9) :: parname0 (nparmax)
345 :       REAL*8       :: parval0  (nparmax)
346 :       REAL*8       :: parmin0  (nparmax)
347 :       REAL*8       :: parmax0  (nparmax)
348 :       INTEGER      :: paropt0  (nparmax)
349 : 
350 : !     * Definition of variable parameters
351 : 
352 :       namelist /shuffle2par/ parname0, parval0, parmin0, parmax0, paropt0
353 : 
354 : !     * LOAD INITIAL PARAMETER VALUES AND PARAMETER RANGES
355 :       if( .not. allocated(parname) ) then
356 :          open(kfile_namelist, FILE=sfile_namelist, STATUS='old',     &
357 :      &                     FORM='formatted', IOSTAT=iostat)
358 :          if (iostat .eq. 0) then
359 :            read(kfile_namelist, shuffle2par)
360 :          endif
361 :          close(kfile_namelist)
362 : 
363 : !     * allocate and set the parameter fields
364 : 
365 :          allocate(parname(vom_npar))
366 :          allocate(parval(vom_npar))
367 :          allocate(parmin(vom_npar))
368 :          allocate(parmax(vom_npar))
369 :          allocate(paropt(vom_npar))
370 :       end if
371 :       parname(:) = parname0(1:vom_npar)
372 :       parval(:)  = parval0(1:vom_npar)
373 :       parmin(:)  = parmin0(1:vom_npar)
374 :       parmax(:)  = parmax0(1:vom_npar)
375 :       paropt(:)  = paropt0(1:vom_npar)
376 : 
377 :       return
378 :       end subroutine read_shufflevar