historyget.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine historygetdouble0 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble1 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble2 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble3 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble4 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble5 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble6 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble7 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal0 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal1 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal2 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal3 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal4 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal5 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal6 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal7 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint0 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint1 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint2 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint3 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint4 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint5 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint6 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint7 (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble0pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble1pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble2pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble3pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble4pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble5pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble6pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble7pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal0pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal1pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal2pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal3pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal4pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal5pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal6pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal7pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint0pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint1pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint2pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint3pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint4pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint5pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint6pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint7pointer (file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble0timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble1timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble2timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble3timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble4timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble5timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble6timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble7timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble0pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble1pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble2pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble3pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble4pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble5pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble6pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble7pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal0timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal1timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal2timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal3timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal4timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal5timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal6timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal7timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal0pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal1pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal2pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal3pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal4pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal5pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal6pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal7pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint0timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint1timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint2timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint3timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint4timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint5timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint6timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint7timer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint0pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint1pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint2pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint3pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint4pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint5pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint6pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint7pointertimer (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble0timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble1timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble2timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble3timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble4timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble5timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble6timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble7timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble0pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble1pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble2pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble3pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble4pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble5pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble6pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble7pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal0timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal1timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal2timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal3timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal4timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal5timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal6timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal7timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal0pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal1pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal2pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal3pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal4pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal5pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal6pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal7pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint0timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint1timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint2timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint3timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint4timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint5timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint6timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint7timed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint0pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint1pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint2pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint3pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint4pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint5pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint6pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint7pointertimed (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble0timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble1timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble2timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble3timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble4timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble5timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble6timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble7timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble0pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble1pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble2pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble3pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble4pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble5pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble6pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetdouble7pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal0timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal1timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal2timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal3timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal4timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal5timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal6timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal7timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal0pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal1pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal2pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal3pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal4pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal5pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal6pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetreal7pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint0timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint1timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint2timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint3timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint4timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint5timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint6timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint7timei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint0pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint1pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint2pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint3pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint4pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint5pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint6pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine historygetint7pointertimei (file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
 
subroutine lookup_growable_url (file, varname, url, range, flag_time_exist, time_name, err)
 
subroutine actual_iorange_dump (url, actual_url, returned_time, time_name, err)
 
character(string) function file_rename_mpi (file)
 

Function/Subroutine Documentation

◆ actual_iorange_dump()

subroutine actual_iorange_dump ( character(*), intent(in)  url,
character(*), intent(out), optional  actual_url,
real(dp), intent(out), optional  returned_time,
character(*), intent(in), optional  time_name,
logical, intent(out), optional  err 
)

Definition at line 17858 of file historyget.f90.

References dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, dc_url::gt_colon, dc_url::gt_comma, dc_url::gt_equal, dc_string::joinchar(), dc_regex::match(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble0(), historygetdouble0pointer(), historygetdouble1(), historygetdouble1pointer(), historygetdouble2(), historygetdouble2pointer(), historygetdouble3(), historygetdouble3pointer(), historygetdouble4(), historygetdouble4pointer(), historygetdouble5(), historygetdouble5pointer(), historygetdouble6(), historygetdouble6pointer(), historygetdouble7(), historygetdouble7pointer(), historygetint0(), historygetint0pointer(), historygetint1(), historygetint1pointer(), historygetint2(), historygetint2pointer(), historygetint3(), historygetint3pointer(), historygetint4(), historygetint4pointer(), historygetint5(), historygetint5pointer(), historygetint6(), historygetint6pointer(), historygetint7(), historygetint7pointer(), historygetreal0(), historygetreal0pointer(), historygetreal1(), historygetreal1pointer(), historygetreal2(), historygetreal2pointer(), historygetreal3(), historygetreal3pointer(), historygetreal4(), historygetreal4pointer(), historygetreal5(), historygetreal5pointer(), historygetreal6(), historygetreal6pointer(), historygetreal7(), and historygetreal7pointer().

17858  !
17859  ! 変数 URL *url* に対応するファイル, 変数からデータを取り出す際,
17860  ! 入出力範囲指定によって切り出される値の本当の位置を
17861  ! 標準出力に出力する. *actual_url* が与えられる場合には
17862  ! その引数に値を返し, 標準出力には出力しない.
17863  !
17864  ! HistoryGet, HistoryGetPointer が下層で呼び出している
17865  ! gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない
17866  ! 場合, 最も近い値を自動的に選択して切り出す. しかしその結果,
17867  ! 「本当はどこのデータを入力したか」がわからない場合があるため,
17868  ! このサブルーチンによって正確な位置をユーザに知らせる.
17869  !
17870  ! *time_name* と *returned_time* が与えられる場合には,
17871  ! *returned_time* に時刻の数値を返す.
17872  ! *returned_time* のみ与えられる場合には 0 を返す.
17873  !
17874  use dc_types, only: dp, string
17875  use dc_string, only: split, joinchar, tochar, roundnum
17877  use dc_url, only: gt_comma, gt_equal, gt_colon
17878  use dc_message, only: messagenotify
17879  use dc_trace, only: dbgmessage
17880  use dc_regex, only: match
17881  use gtdata_types, only: gt_variable
17882  use gtdata_generic, only: open, close, get
17883  use dc_error, only: storeerror, dc_noerr
17884  character(*), intent(in):: url ! 変数 URL
17885  character(*), intent(out), optional:: actual_url
17886  ! 正確な入出力範囲指定に修正
17887  ! された変数 URL
17888  real(DP), intent(out), optional:: returned_time ! データの時刻
17889  character(*), intent(in), optional:: time_name ! 時刻次元の名称
17890  logical, intent(out), optional:: err ! エラーのフラグ
17891  character(STRING), pointer :: iorange_each(:) =>null()
17892  character(STRING), pointer :: range_values(:) =>null()
17893  character(STRING), pointer :: new_iorange_each(:) =>null()
17894  character(STRING), pointer :: new_range_values(:) =>null()
17895  character(STRING):: new_url, new_iorange, url_tmp, dimname
17896  character(STRING):: file, varname, range, cause_c
17897  type(gt_variable):: var
17898  real :: iorange_value(1)
17899  integer :: i, j, regex_len, regex_stat, stat
17900  character(*), parameter :: subname = "actual_iorange_dump"
17901  continue
17902  new_iorange = ''
17903  cause_c = ''
17904  stat = dc_noerr
17905  if ( present(returned_time) ) then
17906  returned_time = 0.
17907  end if
17908  call urlsplit(url, file, varname, iorange=range)
17909  call split(range, iorange_each, gt_comma)
17910  allocate(new_iorange_each(size(iorange_each)))
17911  do i = 1, size(iorange_each)
17912  call match(gt_equal, iorange_each(i), regex_len, regex_stat)
17913  if (regex_stat < 0 .or. regex_len < 2) then
17914  new_iorange_each(i) = trim(iorange_each(i))
17915  else
17916  dimname = iorange_each(i)(:regex_len-1)
17917  call split(iorange_each(i)(regex_len+1:), range_values, gt_colon)
17918  allocate(new_range_values(size(range_values)))
17919  do j = 1, size(range_values)
17920  url_tmp = urlmerge(file, dimname, '', &
17921  & iorange=trim(dimname) // gt_equal // trim(range_values(j)))
17922  call open(var, url_tmp)
17923  call get(var, iorange_value, 1)
17924  call close(var)
17925  if ( present(time_name) .and. present(returned_time) ) then
17926  if ( trim(time_name) == trim(dimname) ) then
17927  returned_time = iorange_value(1)
17928  end if
17929  end if
17930  new_range_values(j) = roundnum( tochar(iorange_value) )
17931  end do
17932  new_iorange_each(i) = &
17933  & trim(dimname) // gt_equal // joinchar(new_range_values, gt_colon)
17934  deallocate(new_range_values)
17935  deallocate(range_values)
17936  end if
17937  end do
17938  new_iorange = joinchar(new_iorange_each, gt_comma)
17939  deallocate(new_iorange_each)
17940  deallocate(iorange_each)
17941  new_url = urlmerge(file, varname, '', new_iorange)
17942  if (present(actual_url)) then
17943  actual_url = new_url
17944  else
17945  call messagenotify('M', subname, 'Input %c', c1=trim(new_url))
17946  end if
17947 999 continue
17948  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
character, parameter, public gt_colon
Definition: dc_url.f90:83
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ file_rename_mpi()

character(string) function file_rename_mpi ( character(*), intent(in)  file)

Definition at line 17951 of file historyget.f90.

References dc_types::string, and dc_types::token.

Referenced by historygetdouble0(), historygetdouble0pointer(), historygetdouble0pointertimed(), historygetdouble0pointertimei(), historygetdouble0pointertimer(), historygetdouble0timed(), historygetdouble0timei(), historygetdouble0timer(), historygetdouble1(), historygetdouble1pointer(), historygetdouble1pointertimed(), historygetdouble1pointertimei(), historygetdouble1pointertimer(), historygetdouble1timed(), historygetdouble1timei(), historygetdouble1timer(), historygetdouble2(), historygetdouble2pointer(), historygetdouble2pointertimed(), historygetdouble2pointertimei(), historygetdouble2pointertimer(), historygetdouble2timed(), historygetdouble2timei(), historygetdouble2timer(), historygetdouble3(), historygetdouble3pointer(), historygetdouble3pointertimed(), historygetdouble3pointertimei(), historygetdouble3pointertimer(), historygetdouble3timed(), historygetdouble3timei(), historygetdouble3timer(), historygetdouble4(), historygetdouble4pointer(), historygetdouble4pointertimed(), historygetdouble4pointertimei(), historygetdouble4pointertimer(), historygetdouble4timed(), historygetdouble4timei(), historygetdouble4timer(), historygetdouble5(), historygetdouble5pointer(), historygetdouble5pointertimed(), historygetdouble5pointertimei(), historygetdouble5pointertimer(), historygetdouble5timed(), historygetdouble5timei(), historygetdouble5timer(), historygetdouble6(), historygetdouble6pointer(), historygetdouble6pointertimed(), historygetdouble6pointertimei(), historygetdouble6pointertimer(), historygetdouble6timed(), historygetdouble6timei(), historygetdouble6timer(), historygetdouble7(), historygetdouble7pointer(), historygetdouble7pointertimed(), historygetdouble7pointertimei(), historygetdouble7pointertimer(), historygetdouble7timed(), historygetdouble7timei(), historygetdouble7timer(), historygetint0(), historygetint0pointer(), historygetint0pointertimed(), historygetint0pointertimei(), historygetint0pointertimer(), historygetint0timed(), historygetint0timei(), historygetint0timer(), historygetint1(), historygetint1pointer(), historygetint1pointertimed(), historygetint1pointertimei(), historygetint1pointertimer(), historygetint1timed(), historygetint1timei(), historygetint1timer(), historygetint2(), historygetint2pointer(), historygetint2pointertimed(), historygetint2pointertimei(), historygetint2pointertimer(), historygetint2timed(), historygetint2timei(), historygetint2timer(), historygetint3(), historygetint3pointer(), historygetint3pointertimed(), historygetint3pointertimei(), historygetint3pointertimer(), historygetint3timed(), historygetint3timei(), historygetint3timer(), historygetint4(), historygetint4pointer(), historygetint4pointertimed(), historygetint4pointertimei(), historygetint4pointertimer(), historygetint4timed(), historygetint4timei(), historygetint4timer(), historygetint5(), historygetint5pointer(), historygetint5pointertimed(), historygetint5pointertimei(), historygetint5pointertimer(), historygetint5timed(), historygetint5timei(), historygetint5timer(), historygetint6(), historygetint6pointer(), historygetint6pointertimed(), historygetint6pointertimei(), historygetint6pointertimer(), historygetint6timed(), historygetint6timei(), historygetint6timer(), historygetint7(), historygetint7pointer(), historygetint7pointertimed(), historygetint7pointertimei(), historygetint7pointertimer(), historygetint7timed(), historygetint7timei(), historygetint7timer(), historygetreal0(), historygetreal0pointer(), historygetreal0pointertimed(), historygetreal0pointertimei(), historygetreal0pointertimer(), historygetreal0timed(), historygetreal0timei(), historygetreal0timer(), historygetreal1(), historygetreal1pointer(), historygetreal1pointertimed(), historygetreal1pointertimei(), historygetreal1pointertimer(), historygetreal1timed(), historygetreal1timei(), historygetreal1timer(), historygetreal2(), historygetreal2pointer(), historygetreal2pointertimed(), historygetreal2pointertimei(), historygetreal2pointertimer(), historygetreal2timed(), historygetreal2timei(), historygetreal2timer(), historygetreal3(), historygetreal3pointer(), historygetreal3pointertimed(), historygetreal3pointertimei(), historygetreal3pointertimer(), historygetreal3timed(), historygetreal3timei(), historygetreal3timer(), historygetreal4(), historygetreal4pointer(), historygetreal4pointertimed(), historygetreal4pointertimei(), historygetreal4pointertimer(), historygetreal4timed(), historygetreal4timei(), historygetreal4timer(), historygetreal5(), historygetreal5pointer(), historygetreal5pointertimed(), historygetreal5pointertimei(), historygetreal5pointertimer(), historygetreal5timed(), historygetreal5timei(), historygetreal5timer(), historygetreal6(), historygetreal6pointer(), historygetreal6pointertimed(), historygetreal6pointertimei(), historygetreal6pointertimer(), historygetreal6timed(), historygetreal6timei(), historygetreal6timer(), historygetreal7(), historygetreal7pointer(), historygetreal7pointertimed(), historygetreal7pointertimei(), historygetreal7pointertimer(), historygetreal7timed(), historygetreal7timei(), historygetreal7timer(), historygettattrchar0(), historygettattrdouble0(), historygettattrdouble1(), historygettattrint0(), historygettattrint1(), historygettattrreal0(), and historygettattrreal1().

17951  use dc_types, only: string, token
17952  use dc_string, only: cprintf, lchar
17953  implicit none
17954  character(*), intent(in):: file
17955  character(STRING):: result
17956  continue
17957  result = file
17958  return
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
Definition: dc_types.f90:109
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118

◆ historygetdouble0()

subroutine historygetdouble0 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 93 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble0timed(), historygetdouble0timei(), and historygetdouble0timer().

93  use gtdata_types, only: gt_variable
94  use gtdata_generic, only: open, inquire, close, get
95  use dc_string, only: tochar, split, joinchar, stoa
98  use dc_regex, only: match
99  use dc_types, only: string, dp
100  use dc_message, only: messagenotify
101  use dc_trace, only: dbgmessage
104  implicit none
105  character(*), intent(in):: file
106  character(*), intent(in):: varname
107  character(*), intent(in), optional:: range
108  logical, intent(in), optional:: quiet
109  logical, intent(in), optional:: flag_mpi_split
110  real(DP), intent(out), optional:: returned_time ! データの時刻
111  logical, intent(out), optional:: flag_time_exist
112  logical, intent(out), optional:: err
113  real(DP), intent(out) :: array
114  real(DP) :: array_tmp(1)
115  type(gt_variable):: var
116  character(STRING):: file_work, url, actual_url
117  integer:: rank, alldims, array_rank
118  integer:: domain
119  character(STRING):: tname
120  integer:: stat
121  character(STRING):: cause_c
122  character(*), parameter :: subname = "HistoryGetDouble0"
123  interface
124  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
125  character(*), intent(in):: file
126  character(*), intent(in):: varname
127  character(*), intent(out):: url
128  character(*), intent(in), optional:: range
129  logical, intent(out), optional:: flag_time_exist
130  character(*), intent(out), optional:: time_name
131  logical, intent(out), optional:: err
132  end subroutine lookup_growable_url
133  end interface
134  interface
135  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
136  use dc_types, only: dp
137  character(*), intent(in) :: url ! 変数 URL
138  character(*), intent(out), optional :: actual_url
139  ! 正確な入出力範囲指定
140  real(DP), intent(out), optional:: returned_time ! データの時刻
141  character(*), intent(in), optional:: time_name ! 時刻次元の名称
142  logical, intent(out), optional :: err ! エラーのフラグ
143  end subroutine actual_iorange_dump
144  end interface
145  interface
146  function file_rename_mpi( file ) result(result)
147  use dc_types, only: string
148  character(*), intent(in):: file
149  character(STRING):: result
150  end function file_rename_mpi
151  end interface
152  continue
153  cause_c = ''
154  stat = dc_noerr
155  file_work = file
156  ! ファイル名の変更 (MPI 用)
157  ! Change filename (for MPI)
158  !
159  if ( present_and_true( flag_mpi_split ) ) &
160  & file_work = file_rename_mpi( file_work )
161  ! 最新時刻の URL 取得
162  ! Get URL of latest time
163  !
164  call lookup_growable_url(file_work, varname, url, range, &
165  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
166  if ( present_and_true(err) ) then
167  stat = gt_enoturl
168  cause_c = url
169  goto 999
170  end if
171  ! ファイルオープン
172  ! File open
173  call open( var, url, err = err )
174  if ( present_and_true(err) ) then
175  stat = gt_enoturl
176  cause_c = url
177  goto 999
178  end if
179  !-------------------------------------------------------------------
180  ! 配列形状のチェック
181  ! Check array shape
182  !-------------------------------------------------------------------
183  ! 入力ファイル中のデータの次元数
184  ! Get size of dimesions in data of an input file
185  !
186  call inquire( var = var, & ! (in)
187  & rank = rank, alldims = alldims ) ! (out)
188  ! 引数の次元数のチェック (縮退されている場合には減らす)
189  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
190  array_rank = 0
191  ! 次元数の比較
192  ! Compare sizes of dimensions
193  !
194  if ( .not. 0 == rank .and. .not. array_rank == rank ) then
195  if ( .not. present_and_true(quiet) ) then
196  call messagenotify('W', subname, &
197  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
198  & i = (/rank, 0/), c1 = trim(url) )
199  end if
200  stat = gt_erankmismatch
201  cause_c = 'array'
202  goto 999
203  end if
204  ! 入力ファイル中のデータの配列形状取得
205  ! Get shape of data in an input file
206  !-------------------------------------
207  ! データ取得
208  ! Get data
209  call inquire( var = var, & ! (in)
210  & size = domain ) ! (out)
211  call get( var = var, & ! (inout)
212  & nvalue = domain, & ! (in)
213  & value = array_tmp) ! (out)
214  array = array_tmp(1)
215  call close( var )
216  !-------------------------------------
217  ! データファイル名と切り出し範囲の印字
218  ! Print data filename and clipping range
219  call actual_iorange_dump(url, & ! (in)
220  & actual_url, returned_time, & ! (out) optional
221  & time_name = tname, & ! (in) optional
222  & err = err) ! (out) optional
223  if ( .not. present_and_true(quiet) ) then
224  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
225  end if
226 999 continue
227  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble0pointer()

subroutine historygetdouble0pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 4812 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetdouble0pointertimed(), historygetdouble0pointertimei(), and historygetdouble0pointertimer().

4812  use gtdata_types, only: gt_variable
4813  use gtdata_generic, only: open, inquire, close, get
4814  use dc_string, only: tochar
4816  use dc_types, only: string, dp
4817  use dc_message, only: messagenotify
4818  use dc_trace, only: dbgmessage
4819  implicit none
4820  character(*), intent(in):: file
4821  character(*), intent(in):: varname
4822  character(*), intent(in), optional:: range
4823  logical, intent(in), optional:: quiet
4824  logical, intent(in), optional:: flag_mpi_split
4825  real(DP), intent(out), optional:: returned_time ! データの時刻
4826  logical, intent(out), optional:: flag_time_exist
4827  logical, intent(out), optional:: err
4828  integer:: domain
4829  real(DP), pointer :: array ! (out)
4830  real(DP), target :: array_tmp(1)
4831  type(gt_variable):: var
4832  character(STRING):: file_work, url, actual_url
4833  character(STRING):: tname
4834  character(*), parameter :: subname = "HistoryGetDouble0Pointer"
4835  interface
4836  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
4837  character(*), intent(in):: file
4838  character(*), intent(in):: varname
4839  character(*), intent(out):: url
4840  character(*), intent(in), optional:: range
4841  logical, intent(out), optional:: flag_time_exist
4842  character(*), intent(out), optional:: time_name
4843  logical, intent(out), optional:: err
4844  end subroutine lookup_growable_url
4845  end interface
4846  interface
4847  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
4848  use dc_types, only: dp
4849  character(*), intent(in) :: url ! 変数 URL
4850  character(*), intent(out), optional :: actual_url
4851  ! 正確な入出力範囲指定
4852  real(DP), intent(out), optional:: returned_time ! データの時刻
4853  character(*), intent(in), optional:: time_name ! 時刻次元の名称
4854  logical, intent(out), optional :: err ! エラーのフラグ
4855  end subroutine actual_iorange_dump
4856  end interface
4857  interface
4858  function file_rename_mpi( file ) result(result)
4859  use dc_types, only: string
4860  character(*), intent(in):: file
4861  character(STRING):: result
4862  end function file_rename_mpi
4863  end interface
4864  continue
4865  file_work = file
4866  ! ファイル名の変更 (MPI 用)
4867  ! Change filename (for MPI)
4868  !
4869  if ( present_and_true( flag_mpi_split ) ) &
4870  & file_work = file_rename_mpi( file_work )
4871  ! 必要な情報を gtool 変数化
4872  !
4873  call lookup_growable_url(file_work, varname, url, range, &
4874  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
4875  allocate(array)
4876  call dbgmessage('@ url =%c', c1=trim(url))
4877  ! いよいよデータ取得
4878  !
4879  call open(var, url, err)
4880  call inquire(var=var, size=domain)
4881  call get(var, array_tmp, domain, err)
4882  array = array_tmp(1)
4883  call close(var, err)
4884  call actual_iorange_dump(url, & ! (in)
4885  & actual_url, returned_time, & ! (out) optional
4886  & time_name = tname, & ! (in) optional
4887  & err = err) ! (out) optional
4888  if ( .not. present_and_true(quiet) ) then
4889  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
4890  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble0pointertimed()

subroutine historygetdouble0pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10974 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10974  use dc_string, only: tochar, split
10975  use dc_types, only: string, dp
10976  use dc_trace, only: dbgmessage
10977  use dc_url, only: url_chop_iorange, gt_equal
10978  use dc_present, only: present_and_true
10979  implicit none
10980  character(*), intent(in):: file, varname
10981  real(DP), intent(in):: time
10982  logical, intent(in), optional:: quiet
10983  real(DP), pointer :: array
10984  logical, intent(in), optional:: flag_mpi_split
10985  real(DP), intent(out), optional:: returned_time
10986  logical, intent(out), optional:: flag_time_exist
10987  logical, intent(out), optional:: err
10988  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10989  character(STRING), pointer:: carray (:)
10990  character(STRING):: tname
10991  character(*), parameter :: subname = "HistoryGetDouble0TimeD"
10992  interface
10993  subroutine historygetdouble0pointer(&
10994  & file, varname, array, range, quiet, &
10995  & flag_mpi_split, returned_time, flag_time_exist, err)
10996  use dc_types, only: dp
10997  character(*), intent(in):: file
10998  character(*), intent(in):: varname
10999  character(*), intent(in), optional:: range
11000  logical, intent(in), optional:: quiet
11001  logical, intent(in), optional:: flag_mpi_split
11002  real(DP), intent(out), optional:: returned_time
11003  logical, intent(out), optional:: flag_time_exist
11004  logical, intent(out), optional:: err
11005  real(DP), pointer :: array
11006  end subroutine historygetdouble0pointer
11007  end interface
11008  interface
11009  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11010  character(*), intent(in):: file
11011  character(*), intent(in):: varname
11012  character(*), intent(out):: url
11013  character(*), intent(in), optional:: range
11014  logical, intent(out), optional:: flag_time_exist
11015  character(*), intent(out), optional:: time_name
11016  logical, intent(out), optional:: err
11017  end subroutine lookup_growable_url
11018  end interface
11019  interface
11020  function file_rename_mpi( file ) result(result)
11021  use dc_types, only: string
11022  character(*), intent(in):: file
11023  character(STRING):: result
11024  end function file_rename_mpi
11025  end interface
11026  continue
11027  file_work = file
11028  if ( present_and_true( flag_mpi_split ) ) &
11029  & file_work = file_rename_mpi( file_work )
11030  call lookup_growable_url(file = file_work, varname = varname, &
11031  & url = url, &
11032  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11033  call url_chop_iorange( &
11034  & fullname = url, iorange = iorange, remainder = remainder )
11035  call split( str = iorange, carray = carray, sep = gt_equal )
11036  timevar_name = carray(1)
11037  deallocate( carray )
11038  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11039  call historygetdouble0pointer( file = file, &
11040  & varname = varname, array = array, &
11041  & range = time_range, quiet = quiet, &
11042  & flag_mpi_split = flag_mpi_split, &
11043  & returned_time = returned_time, &
11044  & flag_time_exist = flag_time_exist, &
11045  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble0pointertimei()

subroutine historygetdouble0pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14622 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14622  use dc_string, only: tochar, split
14623  use dc_types, only: string, dp
14624  use dc_trace, only: dbgmessage
14625  use dc_url, only: url_chop_iorange, gt_equal
14626  use dc_present, only: present_and_true
14627  implicit none
14628  character(*), intent(in):: file, varname
14629  integer, intent(in):: time
14630  logical, intent(in), optional:: quiet
14631  real(DP), pointer :: array
14632  logical, intent(in), optional:: flag_mpi_split
14633  real(DP), intent(out), optional:: returned_time
14634  logical, intent(out), optional:: flag_time_exist
14635  logical, intent(out), optional:: err
14636  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14637  character(STRING), pointer:: carray (:)
14638  character(STRING):: tname
14639  character(*), parameter :: subname = "HistoryGetDouble0TimeI"
14640  interface
14641  subroutine historygetdouble0pointer(&
14642  & file, varname, array, range, quiet, &
14643  & flag_mpi_split, returned_time, flag_time_exist, err)
14644  use dc_types, only: dp
14645  character(*), intent(in):: file
14646  character(*), intent(in):: varname
14647  character(*), intent(in), optional:: range
14648  logical, intent(in), optional:: quiet
14649  logical, intent(in), optional:: flag_mpi_split
14650  real(DP), intent(out), optional:: returned_time
14651  logical, intent(out), optional:: flag_time_exist
14652  logical, intent(out), optional:: err
14653  real(DP), pointer :: array
14654  end subroutine historygetdouble0pointer
14655  end interface
14656  interface
14657  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14658  character(*), intent(in):: file
14659  character(*), intent(in):: varname
14660  character(*), intent(out):: url
14661  character(*), intent(in), optional:: range
14662  logical, intent(out), optional:: flag_time_exist
14663  character(*), intent(out), optional:: time_name
14664  logical, intent(out), optional:: err
14665  end subroutine lookup_growable_url
14666  end interface
14667  interface
14668  function file_rename_mpi( file ) result(result)
14669  use dc_types, only: string
14670  character(*), intent(in):: file
14671  character(STRING):: result
14672  end function file_rename_mpi
14673  end interface
14674  continue
14675  file_work = file
14676  if ( present_and_true( flag_mpi_split ) ) &
14677  & file_work = file_rename_mpi( file_work )
14678  call lookup_growable_url(file = file_work, varname = varname, &
14679  & url = url, &
14680  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14681  call url_chop_iorange( &
14682  & fullname = url, iorange = iorange, remainder = remainder )
14683  call split( str = iorange, carray = carray, sep = gt_equal )
14684  timevar_name = carray(1)
14685  deallocate( carray )
14686  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14687  call historygetdouble0pointer( file = file, &
14688  & varname = varname, array = array, &
14689  & range = time_range, quiet = quiet, &
14690  & flag_mpi_split = flag_mpi_split, &
14691  & returned_time = returned_time, &
14692  & flag_time_exist = flag_time_exist, &
14693  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble0pointertimer()

subroutine historygetdouble0pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7326 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7326  use dc_string, only: tochar, split
7327  use dc_types, only: string, dp, sp
7328  use dc_trace, only: dbgmessage
7329  use dc_url, only: url_chop_iorange, gt_equal
7330  use dc_present, only: present_and_true
7331  implicit none
7332  character(*), intent(in):: file, varname
7333  real(SP), intent(in):: time
7334  logical, intent(in), optional:: quiet
7335  real(DP), pointer :: array
7336  logical, intent(in), optional:: flag_mpi_split
7337  real(DP), intent(out), optional:: returned_time
7338  logical, intent(out), optional:: flag_time_exist
7339  logical, intent(out), optional:: err
7340  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7341  character(STRING), pointer:: carray (:)
7342  character(STRING):: tname
7343  character(*), parameter :: subname = "HistoryGetDouble0TimeR"
7344  interface
7345  subroutine historygetdouble0pointer(&
7346  & file, varname, array, range, quiet, &
7347  & flag_mpi_split, returned_time, flag_time_exist, err)
7348  use dc_types, only: dp
7349  character(*), intent(in):: file
7350  character(*), intent(in):: varname
7351  character(*), intent(in), optional:: range
7352  logical, intent(in), optional:: quiet
7353  logical, intent(in), optional:: flag_mpi_split
7354  real(DP), intent(out), optional:: returned_time
7355  logical, intent(out), optional:: flag_time_exist
7356  logical, intent(out), optional:: err
7357  real(DP), pointer :: array
7358  end subroutine historygetdouble0pointer
7359  end interface
7360  interface
7361  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7362  character(*), intent(in):: file
7363  character(*), intent(in):: varname
7364  character(*), intent(out):: url
7365  character(*), intent(in), optional:: range
7366  logical, intent(out), optional:: flag_time_exist
7367  character(*), intent(out), optional:: time_name
7368  logical, intent(out), optional:: err
7369  end subroutine lookup_growable_url
7370  end interface
7371  interface
7372  function file_rename_mpi( file ) result(result)
7373  use dc_types, only: string
7374  character(*), intent(in):: file
7375  character(STRING):: result
7376  end function file_rename_mpi
7377  end interface
7378  continue
7379  file_work = file
7380  if ( present_and_true( flag_mpi_split ) ) &
7381  & file_work = file_rename_mpi( file_work )
7382  call lookup_growable_url(file = file_work, varname = varname, &
7383  & url = url, &
7384  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7385  call url_chop_iorange( &
7386  & fullname = url, iorange = iorange, remainder = remainder )
7387  call split( str = iorange, carray = carray, sep = gt_equal )
7388  timevar_name = carray(1)
7389  deallocate( carray )
7390  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7391  call historygetdouble0pointer( file = file, &
7392  & varname = varname, array = array, &
7393  & range = time_range, quiet = quiet, &
7394  & flag_mpi_split = flag_mpi_split, &
7395  & returned_time = returned_time, &
7396  & flag_time_exist = flag_time_exist, &
7397  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble0timed()

subroutine historygetdouble0timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10366 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10366  use dc_string, only: tochar, split
10367  use dc_types, only: string, dp
10368  use dc_trace, only: dbgmessage
10369  use dc_url, only: url_chop_iorange, gt_equal
10370  use dc_present, only: present_and_true
10371  implicit none
10372  character(*), intent(in):: file, varname
10373  real(DP), intent(in):: time
10374  logical, intent(in), optional:: quiet
10375  real(DP), intent(out) :: array
10376  logical, intent(in), optional:: flag_mpi_split
10377  real(DP), intent(out), optional:: returned_time
10378  logical, intent(out), optional:: flag_time_exist
10379  logical, intent(out), optional:: err
10380  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10381  character(STRING), pointer:: carray (:)
10382  character(STRING):: tname
10383  character(*), parameter :: subname = "HistoryGetDouble0TimeD"
10384  interface
10385  subroutine historygetdouble0(&
10386  & file, varname, array, range, quiet, &
10387  & flag_mpi_split, returned_time, flag_time_exist, err)
10388  use dc_types, only: dp
10389  character(*), intent(in):: file
10390  character(*), intent(in):: varname
10391  character(*), intent(in), optional:: range
10392  logical, intent(in), optional:: quiet
10393  logical, intent(in), optional:: flag_mpi_split
10394  real(DP), intent(out), optional:: returned_time
10395  logical, intent(out), optional:: flag_time_exist
10396  logical, intent(out), optional:: err
10397  real(DP), intent(out) :: array
10398  end subroutine historygetdouble0
10399  end interface
10400  interface
10401  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10402  character(*), intent(in):: file
10403  character(*), intent(in):: varname
10404  character(*), intent(out):: url
10405  character(*), intent(in), optional:: range
10406  logical, intent(out), optional:: flag_time_exist
10407  character(*), intent(out), optional:: time_name
10408  logical, intent(out), optional:: err
10409  end subroutine lookup_growable_url
10410  end interface
10411  interface
10412  function file_rename_mpi( file ) result(result)
10413  use dc_types, only: string
10414  character(*), intent(in):: file
10415  character(STRING):: result
10416  end function file_rename_mpi
10417  end interface
10418  continue
10419  file_work = file
10420  if ( present_and_true( flag_mpi_split ) ) &
10421  & file_work = file_rename_mpi( file_work )
10422  call lookup_growable_url(file = file_work, varname = varname, &
10423  & url = url, &
10424  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10425  call url_chop_iorange( &
10426  & fullname = url, iorange = iorange, remainder = remainder )
10427  call split( str = iorange, carray = carray, sep = gt_equal )
10428  timevar_name = carray(1)
10429  deallocate( carray )
10430  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10431  call historygetdouble0( file = file, &
10432  & varname = varname, array = array, &
10433  & range = time_range, quiet = quiet, &
10434  & flag_mpi_split = flag_mpi_split, &
10435  & returned_time = returned_time, &
10436  & flag_time_exist = flag_time_exist, &
10437  & err = err )
subroutine historygetdouble0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:93
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble0timei()

subroutine historygetdouble0timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14014 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14014  use dc_string, only: tochar, split
14015  use dc_types, only: string, dp
14016  use dc_trace, only: dbgmessage
14017  use dc_url, only: url_chop_iorange, gt_equal
14018  use dc_present, only: present_and_true
14019  implicit none
14020  character(*), intent(in):: file, varname
14021  integer, intent(in):: time
14022  logical, intent(in), optional:: quiet
14023  real(DP), intent(out) :: array
14024  logical, intent(in), optional:: flag_mpi_split
14025  real(DP), intent(out), optional:: returned_time
14026  logical, intent(out), optional:: flag_time_exist
14027  logical, intent(out), optional:: err
14028  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14029  character(STRING), pointer:: carray (:)
14030  character(STRING):: tname
14031  character(*), parameter :: subname = "HistoryGetDouble0TimeI"
14032  interface
14033  subroutine historygetdouble0(&
14034  & file, varname, array, range, quiet, &
14035  & flag_mpi_split, returned_time, flag_time_exist, err)
14036  use dc_types, only: dp
14037  character(*), intent(in):: file
14038  character(*), intent(in):: varname
14039  character(*), intent(in), optional:: range
14040  logical, intent(in), optional:: quiet
14041  logical, intent(in), optional:: flag_mpi_split
14042  real(DP), intent(out), optional:: returned_time
14043  logical, intent(out), optional:: flag_time_exist
14044  logical, intent(out), optional:: err
14045  real(DP), intent(out) :: array
14046  end subroutine historygetdouble0
14047  end interface
14048  interface
14049  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14050  character(*), intent(in):: file
14051  character(*), intent(in):: varname
14052  character(*), intent(out):: url
14053  character(*), intent(in), optional:: range
14054  logical, intent(out), optional:: flag_time_exist
14055  character(*), intent(out), optional:: time_name
14056  logical, intent(out), optional:: err
14057  end subroutine lookup_growable_url
14058  end interface
14059  interface
14060  function file_rename_mpi( file ) result(result)
14061  use dc_types, only: string
14062  character(*), intent(in):: file
14063  character(STRING):: result
14064  end function file_rename_mpi
14065  end interface
14066  continue
14067  file_work = file
14068  if ( present_and_true( flag_mpi_split ) ) &
14069  & file_work = file_rename_mpi( file_work )
14070  call lookup_growable_url(file = file_work, varname = varname, &
14071  & url = url, &
14072  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14073  call url_chop_iorange( &
14074  & fullname = url, iorange = iorange, remainder = remainder )
14075  call split( str = iorange, carray = carray, sep = gt_equal )
14076  timevar_name = carray(1)
14077  deallocate( carray )
14078  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14079  call historygetdouble0( file = file, &
14080  & varname = varname, array = array, &
14081  & range = time_range, quiet = quiet, &
14082  & flag_mpi_split = flag_mpi_split, &
14083  & returned_time = returned_time, &
14084  & flag_time_exist = flag_time_exist, &
14085  & err = err )
subroutine historygetdouble0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:93
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble0timer()

subroutine historygetdouble0timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6718 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

6718  use dc_string, only: tochar, split
6719  use dc_types, only: string, dp, sp
6720  use dc_trace, only: dbgmessage
6721  use dc_url, only: url_chop_iorange, gt_equal
6722  use dc_present, only: present_and_true
6723  implicit none
6724  character(*), intent(in):: file, varname
6725  real(SP), intent(in):: time
6726  logical, intent(in), optional:: quiet
6727  real(DP), intent(out) :: array
6728  logical, intent(in), optional:: flag_mpi_split
6729  real(DP), intent(out), optional:: returned_time
6730  logical, intent(out), optional:: flag_time_exist
6731  logical, intent(out), optional:: err
6732  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
6733  character(STRING), pointer:: carray (:)
6734  character(STRING):: tname
6735  character(*), parameter :: subname = "HistoryGetDouble0TimeR"
6736  interface
6737  subroutine historygetdouble0(&
6738  & file, varname, array, range, quiet, &
6739  & flag_mpi_split, returned_time, flag_time_exist, err)
6740  use dc_types, only: dp
6741  character(*), intent(in):: file
6742  character(*), intent(in):: varname
6743  character(*), intent(in), optional:: range
6744  logical, intent(in), optional:: quiet
6745  logical, intent(in), optional:: flag_mpi_split
6746  real(DP), intent(out), optional:: returned_time
6747  logical, intent(out), optional:: flag_time_exist
6748  logical, intent(out), optional:: err
6749  real(DP), intent(out) :: array
6750  end subroutine historygetdouble0
6751  end interface
6752  interface
6753  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6754  character(*), intent(in):: file
6755  character(*), intent(in):: varname
6756  character(*), intent(out):: url
6757  character(*), intent(in), optional:: range
6758  logical, intent(out), optional:: flag_time_exist
6759  character(*), intent(out), optional:: time_name
6760  logical, intent(out), optional:: err
6761  end subroutine lookup_growable_url
6762  end interface
6763  interface
6764  function file_rename_mpi( file ) result(result)
6765  use dc_types, only: string
6766  character(*), intent(in):: file
6767  character(STRING):: result
6768  end function file_rename_mpi
6769  end interface
6770  continue
6771  file_work = file
6772  if ( present_and_true( flag_mpi_split ) ) &
6773  & file_work = file_rename_mpi( file_work )
6774  call lookup_growable_url(file = file_work, varname = varname, &
6775  & url = url, &
6776  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6777  call url_chop_iorange( &
6778  & fullname = url, iorange = iorange, remainder = remainder )
6779  call split( str = iorange, carray = carray, sep = gt_equal )
6780  timevar_name = carray(1)
6781  deallocate( carray )
6782  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
6783  call historygetdouble0( file = file, &
6784  & varname = varname, array = array, &
6785  & range = time_range, quiet = quiet, &
6786  & flag_mpi_split = flag_mpi_split, &
6787  & returned_time = returned_time, &
6788  & flag_time_exist = flag_time_exist, &
6789  & err = err )
subroutine historygetdouble0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:93
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble1()

subroutine historygetdouble1 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 231 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble1timed(), historygetdouble1timei(), and historygetdouble1timer().

231  use gtdata_types, only: gt_variable
232  use gtdata_generic, only: open, inquire, close, get
233  use dc_string, only: tochar, split, joinchar, stoa
236  use dc_regex, only: match
237  use dc_types, only: string, dp
238  use dc_message, only: messagenotify
239  use dc_trace, only: dbgmessage
242  implicit none
243  character(*), intent(in):: file
244  character(*), intent(in):: varname
245  character(*), intent(in), optional:: range
246  logical, intent(in), optional:: quiet
247  logical, intent(in), optional:: flag_mpi_split
248  real(DP), intent(out), optional:: returned_time ! データの時刻
249  logical, intent(out), optional:: flag_time_exist
250  logical, intent(out), optional:: err
251  real(DP), intent(out) :: array(:)
252  real(DP), allocatable :: array_tmp(:)
253  integer:: array_allsize
254  integer:: array_shape(1), data_shape(1), array_shape_check(1)
255  integer:: allcount
256  integer:: i, sd
257  logical:: inq_err
258  type(gt_variable):: var
259  character(STRING):: file_work, url, actual_url
260  integer:: rank, alldims, array_rank
261  integer:: domain
262  character(STRING):: tname
263  integer:: stat
264  character(STRING):: cause_c
265  character(*), parameter :: subname = "HistoryGetDouble1"
266  interface
267  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
268  character(*), intent(in):: file
269  character(*), intent(in):: varname
270  character(*), intent(out):: url
271  character(*), intent(in), optional:: range
272  logical, intent(out), optional:: flag_time_exist
273  character(*), intent(out), optional:: time_name
274  logical, intent(out), optional:: err
275  end subroutine lookup_growable_url
276  end interface
277  interface
278  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
279  use dc_types, only: dp
280  character(*), intent(in) :: url ! 変数 URL
281  character(*), intent(out), optional :: actual_url
282  ! 正確な入出力範囲指定
283  real(DP), intent(out), optional:: returned_time ! データの時刻
284  character(*), intent(in), optional:: time_name ! 時刻次元の名称
285  logical, intent(out), optional :: err ! エラーのフラグ
286  end subroutine actual_iorange_dump
287  end interface
288  interface
289  function file_rename_mpi( file ) result(result)
290  use dc_types, only: string
291  character(*), intent(in):: file
292  character(STRING):: result
293  end function file_rename_mpi
294  end interface
295  continue
296  cause_c = ''
297  stat = dc_noerr
298  file_work = file
299  array_shape = shape( array )
300  array_allsize = size( array )
301  ! ファイル名の変更 (MPI 用)
302  ! Change filename (for MPI)
303  !
304  if ( present_and_true( flag_mpi_split ) ) &
305  & file_work = file_rename_mpi( file_work )
306  ! 最新時刻の URL 取得
307  ! Get URL of latest time
308  !
309  call lookup_growable_url(file_work, varname, url, range, &
310  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
311  if ( present_and_true(err) ) then
312  stat = gt_enoturl
313  cause_c = url
314  goto 999
315  end if
316  ! ファイルオープン
317  ! File open
318  call open( var, url, err = err )
319  if ( present_and_true(err) ) then
320  stat = gt_enoturl
321  cause_c = url
322  goto 999
323  end if
324  !-------------------------------------------------------------------
325  ! 配列形状のチェック
326  ! Check array shape
327  !-------------------------------------------------------------------
328  ! 入力ファイル中のデータの次元数
329  ! Get size of dimesions in data of an input file
330  !
331  call inquire( var = var, & ! (in)
332  & rank = rank, alldims = alldims ) ! (out)
333  ! 引数の次元数のチェック (縮退されている場合には減らす)
334  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
335  array_rank = 1
336  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
337  ! 次元数の比較
338  ! Compare sizes of dimensions
339  !
340  if ( .not. 1 == rank .and. .not. array_rank == rank ) then
341  if ( .not. present_and_true(quiet) ) then
342  call messagenotify('W', subname, &
343  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
344  & i = (/rank, 1/), c1 = trim(url) )
345  end if
346  stat = gt_erankmismatch
347  cause_c = 'array'
348  goto 999
349  end if
350  ! 入力ファイル中のデータの配列形状取得
351  ! Get shape of data in an input file
352  call inquire( var = var , dimord = 1, & ! (in)
353  & allcount = allcount, err = inq_err ) ! (out)
354  if ( .not. inq_err ) then
355  data_shape(1) = allcount
356  else
357  data_shape(1) = 1
358  end if
359  ! 引数の配列形状整形
360  ! Arrange shape of an argument
361  !
362  array_shape_check = array_shape
363  sd = 1
364  do i = 1, 1 - 1
365  if ( array_shape_check(sd) == 1 ) then
366  array_shape_check(sd:1) = cshift( array_shape_check(sd:1), 1, 1 )
367  else
368  sd = sd + 1
369  end if
370  end do
371  ! 配列形状の比較
372  ! Compare shapes
373  !
374  if ( .not. all( array_shape_check == data_shape ) ) then
375  if ( .not. present_and_true(quiet) ) then
376  call messagenotify('W', subname, &
377  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
378  & c1 = trim( url ), &
379  & c2 = trim( tochar( data_shape(1:rank) ) ), &
380  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
381  end if
382  stat = gt_eargsizemismatch
383  cause_c = 'array'
384  goto 999
385  end if
386  !-------------------------------------
387  ! データ取得
388  ! Get data
389  call inquire( var = var, & ! (in)
390  & size = domain ) ! (out)
391  if ( allocated( array_tmp ) ) deallocate( array_tmp )
392  allocate( array_tmp(array_allsize) )
393  call get( var, array_tmp, domain )
394  array = reshape( array_tmp, array_shape )
395  deallocate( array_tmp )
396  call close( var )
397  !-------------------------------------
398  ! データファイル名と切り出し範囲の印字
399  ! Print data filename and clipping range
400  call actual_iorange_dump(url, & ! (in)
401  & actual_url, returned_time, & ! (out) optional
402  & time_name = tname, & ! (in) optional
403  & err = err) ! (out) optional
404  if ( .not. present_and_true(quiet) ) then
405  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
406  end if
407 999 continue
408  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble1pointer()

subroutine historygetdouble1pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 4894 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetdouble1pointertimed(), historygetdouble1pointertimei(), and historygetdouble1pointertimer().

4894  use gtdata_types, only: gt_variable
4895  use gtdata_generic, only: open, inquire, close, get
4896  use dc_string, only: tochar
4898  use dc_types, only: string, dp
4899  use dc_message, only: messagenotify
4900  use dc_trace, only: dbgmessage
4901  implicit none
4902  character(*), intent(in):: file
4903  character(*), intent(in):: varname
4904  character(*), intent(in), optional:: range
4905  logical, intent(in), optional:: quiet
4906  logical, intent(in), optional:: flag_mpi_split
4907  real(DP), intent(out), optional:: returned_time ! データの時刻
4908  logical, intent(out), optional:: flag_time_exist
4909  logical, intent(out), optional:: err
4910  integer:: domain
4911  real(DP), pointer :: array(:) ! (out)
4912  real(DP), target :: array_tmp(1)
4913  type(gt_variable):: var
4914  character(STRING):: file_work, url, actual_url
4915  character(STRING):: tname
4916  character(*), parameter :: subname = "HistoryGetDouble1Pointer"
4917  interface
4918  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
4919  character(*), intent(in):: file
4920  character(*), intent(in):: varname
4921  character(*), intent(out):: url
4922  character(*), intent(in), optional:: range
4923  logical, intent(out), optional:: flag_time_exist
4924  character(*), intent(out), optional:: time_name
4925  logical, intent(out), optional:: err
4926  end subroutine lookup_growable_url
4927  end interface
4928  interface
4929  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
4930  use dc_types, only: dp
4931  character(*), intent(in) :: url ! 変数 URL
4932  character(*), intent(out), optional :: actual_url
4933  ! 正確な入出力範囲指定
4934  real(DP), intent(out), optional:: returned_time ! データの時刻
4935  character(*), intent(in), optional:: time_name ! 時刻次元の名称
4936  logical, intent(out), optional :: err ! エラーのフラグ
4937  end subroutine actual_iorange_dump
4938  end interface
4939  interface
4940  function file_rename_mpi( file ) result(result)
4941  use dc_types, only: string
4942  character(*), intent(in):: file
4943  character(STRING):: result
4944  end function file_rename_mpi
4945  end interface
4946  continue
4947  file_work = file
4948  ! ファイル名の変更 (MPI 用)
4949  ! Change filename (for MPI)
4950  !
4951  if ( present_and_true( flag_mpi_split ) ) &
4952  & file_work = file_rename_mpi( file_work )
4953  ! 必要な情報を gtool 変数化
4954  !
4955  call lookup_growable_url(file_work, varname, url, range, &
4956  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
4957  call dbgmessage('@ url =%c', c1=trim(url))
4958  ! いよいよデータ取得
4959  !
4960  call open(var, url, err)
4961  call get(var, array, err)
4962  call close(var, err)
4963  call actual_iorange_dump(url, & ! (in)
4964  & actual_url, returned_time, & ! (out) optional
4965  & time_name = tname, & ! (in) optional
4966  & err = err) ! (out) optional
4967  if ( .not. present_and_true(quiet) ) then
4968  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
4969  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble1pointertimed()

subroutine historygetdouble1pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11050 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

11050  use dc_string, only: tochar, split
11051  use dc_types, only: string, dp
11052  use dc_trace, only: dbgmessage
11053  use dc_url, only: url_chop_iorange, gt_equal
11054  use dc_present, only: present_and_true
11055  implicit none
11056  character(*), intent(in):: file, varname
11057  real(DP), intent(in):: time
11058  logical, intent(in), optional:: quiet
11059  real(DP), pointer :: array(:)
11060  logical, intent(in), optional:: flag_mpi_split
11061  real(DP), intent(out), optional:: returned_time
11062  logical, intent(out), optional:: flag_time_exist
11063  logical, intent(out), optional:: err
11064  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11065  character(STRING), pointer:: carray (:)
11066  character(STRING):: tname
11067  character(*), parameter :: subname = "HistoryGetDouble1TimeD"
11068  interface
11069  subroutine historygetdouble1pointer(&
11070  & file, varname, array, range, quiet, &
11071  & flag_mpi_split, returned_time, flag_time_exist, err)
11072  use dc_types, only: dp
11073  character(*), intent(in):: file
11074  character(*), intent(in):: varname
11075  character(*), intent(in), optional:: range
11076  logical, intent(in), optional:: quiet
11077  logical, intent(in), optional:: flag_mpi_split
11078  real(DP), intent(out), optional:: returned_time
11079  logical, intent(out), optional:: flag_time_exist
11080  logical, intent(out), optional:: err
11081  real(DP), pointer :: array(:)
11082  end subroutine historygetdouble1pointer
11083  end interface
11084  interface
11085  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11086  character(*), intent(in):: file
11087  character(*), intent(in):: varname
11088  character(*), intent(out):: url
11089  character(*), intent(in), optional:: range
11090  logical, intent(out), optional:: flag_time_exist
11091  character(*), intent(out), optional:: time_name
11092  logical, intent(out), optional:: err
11093  end subroutine lookup_growable_url
11094  end interface
11095  interface
11096  function file_rename_mpi( file ) result(result)
11097  use dc_types, only: string
11098  character(*), intent(in):: file
11099  character(STRING):: result
11100  end function file_rename_mpi
11101  end interface
11102  continue
11103  file_work = file
11104  if ( present_and_true( flag_mpi_split ) ) &
11105  & file_work = file_rename_mpi( file_work )
11106  call lookup_growable_url(file = file_work, varname = varname, &
11107  & url = url, &
11108  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11109  call url_chop_iorange( &
11110  & fullname = url, iorange = iorange, remainder = remainder )
11111  call split( str = iorange, carray = carray, sep = gt_equal )
11112  timevar_name = carray(1)
11113  deallocate( carray )
11114  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11115  call historygetdouble1pointer( file = file, &
11116  & varname = varname, array = array, &
11117  & range = time_range, quiet = quiet, &
11118  & flag_mpi_split = flag_mpi_split, &
11119  & returned_time = returned_time, &
11120  & flag_time_exist = flag_time_exist, &
11121  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetdouble1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble1pointertimei()

subroutine historygetdouble1pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14698 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14698  use dc_string, only: tochar, split
14699  use dc_types, only: string, dp
14700  use dc_trace, only: dbgmessage
14701  use dc_url, only: url_chop_iorange, gt_equal
14702  use dc_present, only: present_and_true
14703  implicit none
14704  character(*), intent(in):: file, varname
14705  integer, intent(in):: time
14706  logical, intent(in), optional:: quiet
14707  real(DP), pointer :: array(:)
14708  logical, intent(in), optional:: flag_mpi_split
14709  real(DP), intent(out), optional:: returned_time
14710  logical, intent(out), optional:: flag_time_exist
14711  logical, intent(out), optional:: err
14712  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14713  character(STRING), pointer:: carray (:)
14714  character(STRING):: tname
14715  character(*), parameter :: subname = "HistoryGetDouble1TimeI"
14716  interface
14717  subroutine historygetdouble1pointer(&
14718  & file, varname, array, range, quiet, &
14719  & flag_mpi_split, returned_time, flag_time_exist, err)
14720  use dc_types, only: dp
14721  character(*), intent(in):: file
14722  character(*), intent(in):: varname
14723  character(*), intent(in), optional:: range
14724  logical, intent(in), optional:: quiet
14725  logical, intent(in), optional:: flag_mpi_split
14726  real(DP), intent(out), optional:: returned_time
14727  logical, intent(out), optional:: flag_time_exist
14728  logical, intent(out), optional:: err
14729  real(DP), pointer :: array(:)
14730  end subroutine historygetdouble1pointer
14731  end interface
14732  interface
14733  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14734  character(*), intent(in):: file
14735  character(*), intent(in):: varname
14736  character(*), intent(out):: url
14737  character(*), intent(in), optional:: range
14738  logical, intent(out), optional:: flag_time_exist
14739  character(*), intent(out), optional:: time_name
14740  logical, intent(out), optional:: err
14741  end subroutine lookup_growable_url
14742  end interface
14743  interface
14744  function file_rename_mpi( file ) result(result)
14745  use dc_types, only: string
14746  character(*), intent(in):: file
14747  character(STRING):: result
14748  end function file_rename_mpi
14749  end interface
14750  continue
14751  file_work = file
14752  if ( present_and_true( flag_mpi_split ) ) &
14753  & file_work = file_rename_mpi( file_work )
14754  call lookup_growable_url(file = file_work, varname = varname, &
14755  & url = url, &
14756  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14757  call url_chop_iorange( &
14758  & fullname = url, iorange = iorange, remainder = remainder )
14759  call split( str = iorange, carray = carray, sep = gt_equal )
14760  timevar_name = carray(1)
14761  deallocate( carray )
14762  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14763  call historygetdouble1pointer( file = file, &
14764  & varname = varname, array = array, &
14765  & range = time_range, quiet = quiet, &
14766  & flag_mpi_split = flag_mpi_split, &
14767  & returned_time = returned_time, &
14768  & flag_time_exist = flag_time_exist, &
14769  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetdouble1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble1pointertimer()

subroutine historygetdouble1pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7402 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7402  use dc_string, only: tochar, split
7403  use dc_types, only: string, dp, sp
7404  use dc_trace, only: dbgmessage
7405  use dc_url, only: url_chop_iorange, gt_equal
7406  use dc_present, only: present_and_true
7407  implicit none
7408  character(*), intent(in):: file, varname
7409  real(SP), intent(in):: time
7410  logical, intent(in), optional:: quiet
7411  real(DP), pointer :: array(:)
7412  logical, intent(in), optional:: flag_mpi_split
7413  real(DP), intent(out), optional:: returned_time
7414  logical, intent(out), optional:: flag_time_exist
7415  logical, intent(out), optional:: err
7416  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7417  character(STRING), pointer:: carray (:)
7418  character(STRING):: tname
7419  character(*), parameter :: subname = "HistoryGetDouble1TimeR"
7420  interface
7421  subroutine historygetdouble1pointer(&
7422  & file, varname, array, range, quiet, &
7423  & flag_mpi_split, returned_time, flag_time_exist, err)
7424  use dc_types, only: dp
7425  character(*), intent(in):: file
7426  character(*), intent(in):: varname
7427  character(*), intent(in), optional:: range
7428  logical, intent(in), optional:: quiet
7429  logical, intent(in), optional:: flag_mpi_split
7430  real(DP), intent(out), optional:: returned_time
7431  logical, intent(out), optional:: flag_time_exist
7432  logical, intent(out), optional:: err
7433  real(DP), pointer :: array(:)
7434  end subroutine historygetdouble1pointer
7435  end interface
7436  interface
7437  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7438  character(*), intent(in):: file
7439  character(*), intent(in):: varname
7440  character(*), intent(out):: url
7441  character(*), intent(in), optional:: range
7442  logical, intent(out), optional:: flag_time_exist
7443  character(*), intent(out), optional:: time_name
7444  logical, intent(out), optional:: err
7445  end subroutine lookup_growable_url
7446  end interface
7447  interface
7448  function file_rename_mpi( file ) result(result)
7449  use dc_types, only: string
7450  character(*), intent(in):: file
7451  character(STRING):: result
7452  end function file_rename_mpi
7453  end interface
7454  continue
7455  file_work = file
7456  if ( present_and_true( flag_mpi_split ) ) &
7457  & file_work = file_rename_mpi( file_work )
7458  call lookup_growable_url(file = file_work, varname = varname, &
7459  & url = url, &
7460  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7461  call url_chop_iorange( &
7462  & fullname = url, iorange = iorange, remainder = remainder )
7463  call split( str = iorange, carray = carray, sep = gt_equal )
7464  timevar_name = carray(1)
7465  deallocate( carray )
7466  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7467  call historygetdouble1pointer( file = file, &
7468  & varname = varname, array = array, &
7469  & range = time_range, quiet = quiet, &
7470  & flag_mpi_split = flag_mpi_split, &
7471  & returned_time = returned_time, &
7472  & flag_time_exist = flag_time_exist, &
7473  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetdouble1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble1timed()

subroutine historygetdouble1timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10442 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10442  use dc_string, only: tochar, split
10443  use dc_types, only: string, dp
10444  use dc_trace, only: dbgmessage
10445  use dc_url, only: url_chop_iorange, gt_equal
10446  use dc_present, only: present_and_true
10447  implicit none
10448  character(*), intent(in):: file, varname
10449  real(DP), intent(in):: time
10450  logical, intent(in), optional:: quiet
10451  real(DP), intent(out) :: array(:)
10452  logical, intent(in), optional:: flag_mpi_split
10453  real(DP), intent(out), optional:: returned_time
10454  logical, intent(out), optional:: flag_time_exist
10455  logical, intent(out), optional:: err
10456  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10457  character(STRING), pointer:: carray (:)
10458  character(STRING):: tname
10459  character(*), parameter :: subname = "HistoryGetDouble1TimeD"
10460  interface
10461  subroutine historygetdouble1(&
10462  & file, varname, array, range, quiet, &
10463  & flag_mpi_split, returned_time, flag_time_exist, err)
10464  use dc_types, only: dp
10465  character(*), intent(in):: file
10466  character(*), intent(in):: varname
10467  character(*), intent(in), optional:: range
10468  logical, intent(in), optional:: quiet
10469  logical, intent(in), optional:: flag_mpi_split
10470  real(DP), intent(out), optional:: returned_time
10471  logical, intent(out), optional:: flag_time_exist
10472  logical, intent(out), optional:: err
10473  real(DP), intent(out) :: array(:)
10474  end subroutine historygetdouble1
10475  end interface
10476  interface
10477  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10478  character(*), intent(in):: file
10479  character(*), intent(in):: varname
10480  character(*), intent(out):: url
10481  character(*), intent(in), optional:: range
10482  logical, intent(out), optional:: flag_time_exist
10483  character(*), intent(out), optional:: time_name
10484  logical, intent(out), optional:: err
10485  end subroutine lookup_growable_url
10486  end interface
10487  interface
10488  function file_rename_mpi( file ) result(result)
10489  use dc_types, only: string
10490  character(*), intent(in):: file
10491  character(STRING):: result
10492  end function file_rename_mpi
10493  end interface
10494  continue
10495  file_work = file
10496  if ( present_and_true( flag_mpi_split ) ) &
10497  & file_work = file_rename_mpi( file_work )
10498  call lookup_growable_url(file = file_work, varname = varname, &
10499  & url = url, &
10500  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10501  call url_chop_iorange( &
10502  & fullname = url, iorange = iorange, remainder = remainder )
10503  call split( str = iorange, carray = carray, sep = gt_equal )
10504  timevar_name = carray(1)
10505  deallocate( carray )
10506  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10507  call historygetdouble1( file = file, &
10508  & varname = varname, array = array, &
10509  & range = time_range, quiet = quiet, &
10510  & flag_mpi_split = flag_mpi_split, &
10511  & returned_time = returned_time, &
10512  & flag_time_exist = flag_time_exist, &
10513  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
subroutine historygetdouble1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:231
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble1timei()

subroutine historygetdouble1timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14090 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14090  use dc_string, only: tochar, split
14091  use dc_types, only: string, dp
14092  use dc_trace, only: dbgmessage
14093  use dc_url, only: url_chop_iorange, gt_equal
14094  use dc_present, only: present_and_true
14095  implicit none
14096  character(*), intent(in):: file, varname
14097  integer, intent(in):: time
14098  logical, intent(in), optional:: quiet
14099  real(DP), intent(out) :: array(:)
14100  logical, intent(in), optional:: flag_mpi_split
14101  real(DP), intent(out), optional:: returned_time
14102  logical, intent(out), optional:: flag_time_exist
14103  logical, intent(out), optional:: err
14104  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14105  character(STRING), pointer:: carray (:)
14106  character(STRING):: tname
14107  character(*), parameter :: subname = "HistoryGetDouble1TimeI"
14108  interface
14109  subroutine historygetdouble1(&
14110  & file, varname, array, range, quiet, &
14111  & flag_mpi_split, returned_time, flag_time_exist, err)
14112  use dc_types, only: dp
14113  character(*), intent(in):: file
14114  character(*), intent(in):: varname
14115  character(*), intent(in), optional:: range
14116  logical, intent(in), optional:: quiet
14117  logical, intent(in), optional:: flag_mpi_split
14118  real(DP), intent(out), optional:: returned_time
14119  logical, intent(out), optional:: flag_time_exist
14120  logical, intent(out), optional:: err
14121  real(DP), intent(out) :: array(:)
14122  end subroutine historygetdouble1
14123  end interface
14124  interface
14125  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14126  character(*), intent(in):: file
14127  character(*), intent(in):: varname
14128  character(*), intent(out):: url
14129  character(*), intent(in), optional:: range
14130  logical, intent(out), optional:: flag_time_exist
14131  character(*), intent(out), optional:: time_name
14132  logical, intent(out), optional:: err
14133  end subroutine lookup_growable_url
14134  end interface
14135  interface
14136  function file_rename_mpi( file ) result(result)
14137  use dc_types, only: string
14138  character(*), intent(in):: file
14139  character(STRING):: result
14140  end function file_rename_mpi
14141  end interface
14142  continue
14143  file_work = file
14144  if ( present_and_true( flag_mpi_split ) ) &
14145  & file_work = file_rename_mpi( file_work )
14146  call lookup_growable_url(file = file_work, varname = varname, &
14147  & url = url, &
14148  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14149  call url_chop_iorange( &
14150  & fullname = url, iorange = iorange, remainder = remainder )
14151  call split( str = iorange, carray = carray, sep = gt_equal )
14152  timevar_name = carray(1)
14153  deallocate( carray )
14154  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14155  call historygetdouble1( file = file, &
14156  & varname = varname, array = array, &
14157  & range = time_range, quiet = quiet, &
14158  & flag_mpi_split = flag_mpi_split, &
14159  & returned_time = returned_time, &
14160  & flag_time_exist = flag_time_exist, &
14161  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
subroutine historygetdouble1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:231
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble1timer()

subroutine historygetdouble1timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6794 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

6794  use dc_string, only: tochar, split
6795  use dc_types, only: string, dp, sp
6796  use dc_trace, only: dbgmessage
6797  use dc_url, only: url_chop_iorange, gt_equal
6798  use dc_present, only: present_and_true
6799  implicit none
6800  character(*), intent(in):: file, varname
6801  real(SP), intent(in):: time
6802  logical, intent(in), optional:: quiet
6803  real(DP), intent(out) :: array(:)
6804  logical, intent(in), optional:: flag_mpi_split
6805  real(DP), intent(out), optional:: returned_time
6806  logical, intent(out), optional:: flag_time_exist
6807  logical, intent(out), optional:: err
6808  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
6809  character(STRING), pointer:: carray (:)
6810  character(STRING):: tname
6811  character(*), parameter :: subname = "HistoryGetDouble1TimeR"
6812  interface
6813  subroutine historygetdouble1(&
6814  & file, varname, array, range, quiet, &
6815  & flag_mpi_split, returned_time, flag_time_exist, err)
6816  use dc_types, only: dp
6817  character(*), intent(in):: file
6818  character(*), intent(in):: varname
6819  character(*), intent(in), optional:: range
6820  logical, intent(in), optional:: quiet
6821  logical, intent(in), optional:: flag_mpi_split
6822  real(DP), intent(out), optional:: returned_time
6823  logical, intent(out), optional:: flag_time_exist
6824  logical, intent(out), optional:: err
6825  real(DP), intent(out) :: array(:)
6826  end subroutine historygetdouble1
6827  end interface
6828  interface
6829  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6830  character(*), intent(in):: file
6831  character(*), intent(in):: varname
6832  character(*), intent(out):: url
6833  character(*), intent(in), optional:: range
6834  logical, intent(out), optional:: flag_time_exist
6835  character(*), intent(out), optional:: time_name
6836  logical, intent(out), optional:: err
6837  end subroutine lookup_growable_url
6838  end interface
6839  interface
6840  function file_rename_mpi( file ) result(result)
6841  use dc_types, only: string
6842  character(*), intent(in):: file
6843  character(STRING):: result
6844  end function file_rename_mpi
6845  end interface
6846  continue
6847  file_work = file
6848  if ( present_and_true( flag_mpi_split ) ) &
6849  & file_work = file_rename_mpi( file_work )
6850  call lookup_growable_url(file = file_work, varname = varname, &
6851  & url = url, &
6852  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6853  call url_chop_iorange( &
6854  & fullname = url, iorange = iorange, remainder = remainder )
6855  call split( str = iorange, carray = carray, sep = gt_equal )
6856  timevar_name = carray(1)
6857  deallocate( carray )
6858  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
6859  call historygetdouble1( file = file, &
6860  & varname = varname, array = array, &
6861  & range = time_range, quiet = quiet, &
6862  & flag_mpi_split = flag_mpi_split, &
6863  & returned_time = returned_time, &
6864  & flag_time_exist = flag_time_exist, &
6865  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
subroutine historygetdouble1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:231
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble2()

subroutine historygetdouble2 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 412 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble2timed(), historygetdouble2timei(), and historygetdouble2timer().

412  use gtdata_types, only: gt_variable
413  use gtdata_generic, only: open, inquire, close, get
414  use dc_string, only: tochar, split, joinchar, stoa
417  use dc_regex, only: match
418  use dc_types, only: string, dp
419  use dc_message, only: messagenotify
420  use dc_trace, only: dbgmessage
423  implicit none
424  character(*), intent(in):: file
425  character(*), intent(in):: varname
426  character(*), intent(in), optional:: range
427  logical, intent(in), optional:: quiet
428  logical, intent(in), optional:: flag_mpi_split
429  real(DP), intent(out), optional:: returned_time ! データの時刻
430  logical, intent(out), optional:: flag_time_exist
431  logical, intent(out), optional:: err
432  real(DP), intent(out) :: array(:,:)
433  real(DP), allocatable :: array_tmp(:)
434  integer:: array_allsize
435  integer:: array_shape(2), data_shape(2), array_shape_check(2)
436  integer:: allcount
437  integer:: i, sd
438  logical:: inq_err
439  type(gt_variable):: var
440  character(STRING):: file_work, url, actual_url
441  integer:: rank, alldims, array_rank
442  integer:: domain
443  character(STRING):: tname
444  integer:: stat
445  character(STRING):: cause_c
446  character(*), parameter :: subname = "HistoryGetDouble2"
447  interface
448  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
449  character(*), intent(in):: file
450  character(*), intent(in):: varname
451  character(*), intent(out):: url
452  character(*), intent(in), optional:: range
453  logical, intent(out), optional:: flag_time_exist
454  character(*), intent(out), optional:: time_name
455  logical, intent(out), optional:: err
456  end subroutine lookup_growable_url
457  end interface
458  interface
459  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
460  use dc_types, only: dp
461  character(*), intent(in) :: url ! 変数 URL
462  character(*), intent(out), optional :: actual_url
463  ! 正確な入出力範囲指定
464  real(DP), intent(out), optional:: returned_time ! データの時刻
465  character(*), intent(in), optional:: time_name ! 時刻次元の名称
466  logical, intent(out), optional :: err ! エラーのフラグ
467  end subroutine actual_iorange_dump
468  end interface
469  interface
470  function file_rename_mpi( file ) result(result)
471  use dc_types, only: string
472  character(*), intent(in):: file
473  character(STRING):: result
474  end function file_rename_mpi
475  end interface
476  continue
477  cause_c = ''
478  stat = dc_noerr
479  file_work = file
480  array_shape = shape( array )
481  array_allsize = size( array )
482  ! ファイル名の変更 (MPI 用)
483  ! Change filename (for MPI)
484  !
485  if ( present_and_true( flag_mpi_split ) ) &
486  & file_work = file_rename_mpi( file_work )
487  ! 最新時刻の URL 取得
488  ! Get URL of latest time
489  !
490  call lookup_growable_url(file_work, varname, url, range, &
491  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
492  if ( present_and_true(err) ) then
493  stat = gt_enoturl
494  cause_c = url
495  goto 999
496  end if
497  ! ファイルオープン
498  ! File open
499  call open( var, url, err = err )
500  if ( present_and_true(err) ) then
501  stat = gt_enoturl
502  cause_c = url
503  goto 999
504  end if
505  !-------------------------------------------------------------------
506  ! 配列形状のチェック
507  ! Check array shape
508  !-------------------------------------------------------------------
509  ! 入力ファイル中のデータの次元数
510  ! Get size of dimesions in data of an input file
511  !
512  call inquire( var = var, & ! (in)
513  & rank = rank, alldims = alldims ) ! (out)
514  ! 引数の次元数のチェック (縮退されている場合には減らす)
515  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
516  array_rank = 2
517  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
518  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
519  ! 次元数の比較
520  ! Compare sizes of dimensions
521  !
522  if ( .not. 2 == rank .and. .not. array_rank == rank ) then
523  if ( .not. present_and_true(quiet) ) then
524  call messagenotify('W', subname, &
525  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
526  & i = (/rank, 2/), c1 = trim(url) )
527  end if
528  stat = gt_erankmismatch
529  cause_c = 'array'
530  goto 999
531  end if
532  ! 入力ファイル中のデータの配列形状取得
533  ! Get shape of data in an input file
534  call inquire( var = var , dimord = 1, & ! (in)
535  & allcount = allcount, err = inq_err ) ! (out)
536  if ( .not. inq_err ) then
537  data_shape(1) = allcount
538  else
539  data_shape(1) = 1
540  end if
541  call inquire( var = var , dimord = 2, & ! (in)
542  & allcount = allcount, err = inq_err ) ! (out)
543  if ( .not. inq_err ) then
544  data_shape(2) = allcount
545  else
546  data_shape(2) = 1
547  end if
548  ! 引数の配列形状整形
549  ! Arrange shape of an argument
550  !
551  array_shape_check = array_shape
552  sd = 1
553  do i = 1, 2 - 1
554  if ( array_shape_check(sd) == 1 ) then
555  array_shape_check(sd:2) = cshift( array_shape_check(sd:2), 1, 1 )
556  else
557  sd = sd + 1
558  end if
559  end do
560  ! 配列形状の比較
561  ! Compare shapes
562  !
563  if ( .not. all( array_shape_check == data_shape ) ) then
564  if ( .not. present_and_true(quiet) ) then
565  call messagenotify('W', subname, &
566  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
567  & c1 = trim( url ), &
568  & c2 = trim( tochar( data_shape(1:rank) ) ), &
569  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
570  end if
571  stat = gt_eargsizemismatch
572  cause_c = 'array'
573  goto 999
574  end if
575  !-------------------------------------
576  ! データ取得
577  ! Get data
578  call inquire( var = var, & ! (in)
579  & size = domain ) ! (out)
580  if ( allocated( array_tmp ) ) deallocate( array_tmp )
581  allocate( array_tmp(array_allsize) )
582  call get( var, array_tmp, domain )
583  array = reshape( array_tmp, array_shape )
584  deallocate( array_tmp )
585  call close( var )
586  !-------------------------------------
587  ! データファイル名と切り出し範囲の印字
588  ! Print data filename and clipping range
589  call actual_iorange_dump(url, & ! (in)
590  & actual_url, returned_time, & ! (out) optional
591  & time_name = tname, & ! (in) optional
592  & err = err) ! (out) optional
593  if ( .not. present_and_true(quiet) ) then
594  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
595  end if
596 999 continue
597  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble2pointer()

subroutine historygetdouble2pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 4973 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetdouble2pointertimed(), historygetdouble2pointertimei(), and historygetdouble2pointertimer().

4973  use gtdata_types, only: gt_variable
4974  use gtdata_generic, only: open, inquire, close, get
4975  use dc_string, only: tochar
4977  use dc_types, only: string, dp
4978  use dc_message, only: messagenotify
4979  use dc_trace, only: dbgmessage
4980  implicit none
4981  character(*), intent(in):: file
4982  character(*), intent(in):: varname
4983  character(*), intent(in), optional:: range
4984  logical, intent(in), optional:: quiet
4985  logical, intent(in), optional:: flag_mpi_split
4986  real(DP), intent(out), optional:: returned_time ! データの時刻
4987  logical, intent(out), optional:: flag_time_exist
4988  logical, intent(out), optional:: err
4989  integer:: domain
4990  real(DP), pointer :: array(:,:) ! (out)
4991  real(DP), target :: array_tmp(1)
4992  type(gt_variable):: var
4993  character(STRING):: file_work, url, actual_url
4994  character(STRING):: tname
4995  character(*), parameter :: subname = "HistoryGetDouble2Pointer"
4996  interface
4997  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
4998  character(*), intent(in):: file
4999  character(*), intent(in):: varname
5000  character(*), intent(out):: url
5001  character(*), intent(in), optional:: range
5002  logical, intent(out), optional:: flag_time_exist
5003  character(*), intent(out), optional:: time_name
5004  logical, intent(out), optional:: err
5005  end subroutine lookup_growable_url
5006  end interface
5007  interface
5008  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5009  use dc_types, only: dp
5010  character(*), intent(in) :: url ! 変数 URL
5011  character(*), intent(out), optional :: actual_url
5012  ! 正確な入出力範囲指定
5013  real(DP), intent(out), optional:: returned_time ! データの時刻
5014  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5015  logical, intent(out), optional :: err ! エラーのフラグ
5016  end subroutine actual_iorange_dump
5017  end interface
5018  interface
5019  function file_rename_mpi( file ) result(result)
5020  use dc_types, only: string
5021  character(*), intent(in):: file
5022  character(STRING):: result
5023  end function file_rename_mpi
5024  end interface
5025  continue
5026  file_work = file
5027  ! ファイル名の変更 (MPI 用)
5028  ! Change filename (for MPI)
5029  !
5030  if ( present_and_true( flag_mpi_split ) ) &
5031  & file_work = file_rename_mpi( file_work )
5032  ! 必要な情報を gtool 変数化
5033  !
5034  call lookup_growable_url(file_work, varname, url, range, &
5035  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5036  call dbgmessage('@ url =%c', c1=trim(url))
5037  ! いよいよデータ取得
5038  !
5039  call open(var, url, err)
5040  call get(var, array, err)
5041  call close(var, err)
5042  call actual_iorange_dump(url, & ! (in)
5043  & actual_url, returned_time, & ! (out) optional
5044  & time_name = tname, & ! (in) optional
5045  & err = err) ! (out) optional
5046  if ( .not. present_and_true(quiet) ) then
5047  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5048  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble2pointertimed()

subroutine historygetdouble2pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11126 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

11126  use dc_string, only: tochar, split
11127  use dc_types, only: string, dp
11128  use dc_trace, only: dbgmessage
11129  use dc_url, only: url_chop_iorange, gt_equal
11130  use dc_present, only: present_and_true
11131  implicit none
11132  character(*), intent(in):: file, varname
11133  real(DP), intent(in):: time
11134  logical, intent(in), optional:: quiet
11135  real(DP), pointer :: array(:,:)
11136  logical, intent(in), optional:: flag_mpi_split
11137  real(DP), intent(out), optional:: returned_time
11138  logical, intent(out), optional:: flag_time_exist
11139  logical, intent(out), optional:: err
11140  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11141  character(STRING), pointer:: carray (:)
11142  character(STRING):: tname
11143  character(*), parameter :: subname = "HistoryGetDouble2TimeD"
11144  interface
11145  subroutine historygetdouble2pointer(&
11146  & file, varname, array, range, quiet, &
11147  & flag_mpi_split, returned_time, flag_time_exist, err)
11148  use dc_types, only: dp
11149  character(*), intent(in):: file
11150  character(*), intent(in):: varname
11151  character(*), intent(in), optional:: range
11152  logical, intent(in), optional:: quiet
11153  logical, intent(in), optional:: flag_mpi_split
11154  real(DP), intent(out), optional:: returned_time
11155  logical, intent(out), optional:: flag_time_exist
11156  logical, intent(out), optional:: err
11157  real(DP), pointer :: array(:,:)
11158  end subroutine historygetdouble2pointer
11159  end interface
11160  interface
11161  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11162  character(*), intent(in):: file
11163  character(*), intent(in):: varname
11164  character(*), intent(out):: url
11165  character(*), intent(in), optional:: range
11166  logical, intent(out), optional:: flag_time_exist
11167  character(*), intent(out), optional:: time_name
11168  logical, intent(out), optional:: err
11169  end subroutine lookup_growable_url
11170  end interface
11171  interface
11172  function file_rename_mpi( file ) result(result)
11173  use dc_types, only: string
11174  character(*), intent(in):: file
11175  character(STRING):: result
11176  end function file_rename_mpi
11177  end interface
11178  continue
11179  file_work = file
11180  if ( present_and_true( flag_mpi_split ) ) &
11181  & file_work = file_rename_mpi( file_work )
11182  call lookup_growable_url(file = file_work, varname = varname, &
11183  & url = url, &
11184  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11185  call url_chop_iorange( &
11186  & fullname = url, iorange = iorange, remainder = remainder )
11187  call split( str = iorange, carray = carray, sep = gt_equal )
11188  timevar_name = carray(1)
11189  deallocate( carray )
11190  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11191  call historygetdouble2pointer( file = file, &
11192  & varname = varname, array = array, &
11193  & range = time_range, quiet = quiet, &
11194  & flag_mpi_split = flag_mpi_split, &
11195  & returned_time = returned_time, &
11196  & flag_time_exist = flag_time_exist, &
11197  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetdouble2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble2pointertimei()

subroutine historygetdouble2pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14774 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14774  use dc_string, only: tochar, split
14775  use dc_types, only: string, dp
14776  use dc_trace, only: dbgmessage
14777  use dc_url, only: url_chop_iorange, gt_equal
14778  use dc_present, only: present_and_true
14779  implicit none
14780  character(*), intent(in):: file, varname
14781  integer, intent(in):: time
14782  logical, intent(in), optional:: quiet
14783  real(DP), pointer :: array(:,:)
14784  logical, intent(in), optional:: flag_mpi_split
14785  real(DP), intent(out), optional:: returned_time
14786  logical, intent(out), optional:: flag_time_exist
14787  logical, intent(out), optional:: err
14788  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14789  character(STRING), pointer:: carray (:)
14790  character(STRING):: tname
14791  character(*), parameter :: subname = "HistoryGetDouble2TimeI"
14792  interface
14793  subroutine historygetdouble2pointer(&
14794  & file, varname, array, range, quiet, &
14795  & flag_mpi_split, returned_time, flag_time_exist, err)
14796  use dc_types, only: dp
14797  character(*), intent(in):: file
14798  character(*), intent(in):: varname
14799  character(*), intent(in), optional:: range
14800  logical, intent(in), optional:: quiet
14801  logical, intent(in), optional:: flag_mpi_split
14802  real(DP), intent(out), optional:: returned_time
14803  logical, intent(out), optional:: flag_time_exist
14804  logical, intent(out), optional:: err
14805  real(DP), pointer :: array(:,:)
14806  end subroutine historygetdouble2pointer
14807  end interface
14808  interface
14809  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14810  character(*), intent(in):: file
14811  character(*), intent(in):: varname
14812  character(*), intent(out):: url
14813  character(*), intent(in), optional:: range
14814  logical, intent(out), optional:: flag_time_exist
14815  character(*), intent(out), optional:: time_name
14816  logical, intent(out), optional:: err
14817  end subroutine lookup_growable_url
14818  end interface
14819  interface
14820  function file_rename_mpi( file ) result(result)
14821  use dc_types, only: string
14822  character(*), intent(in):: file
14823  character(STRING):: result
14824  end function file_rename_mpi
14825  end interface
14826  continue
14827  file_work = file
14828  if ( present_and_true( flag_mpi_split ) ) &
14829  & file_work = file_rename_mpi( file_work )
14830  call lookup_growable_url(file = file_work, varname = varname, &
14831  & url = url, &
14832  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14833  call url_chop_iorange( &
14834  & fullname = url, iorange = iorange, remainder = remainder )
14835  call split( str = iorange, carray = carray, sep = gt_equal )
14836  timevar_name = carray(1)
14837  deallocate( carray )
14838  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14839  call historygetdouble2pointer( file = file, &
14840  & varname = varname, array = array, &
14841  & range = time_range, quiet = quiet, &
14842  & flag_mpi_split = flag_mpi_split, &
14843  & returned_time = returned_time, &
14844  & flag_time_exist = flag_time_exist, &
14845  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetdouble2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble2pointertimer()

subroutine historygetdouble2pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7478 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7478  use dc_string, only: tochar, split
7479  use dc_types, only: string, dp, sp
7480  use dc_trace, only: dbgmessage
7481  use dc_url, only: url_chop_iorange, gt_equal
7482  use dc_present, only: present_and_true
7483  implicit none
7484  character(*), intent(in):: file, varname
7485  real(SP), intent(in):: time
7486  logical, intent(in), optional:: quiet
7487  real(DP), pointer :: array(:,:)
7488  logical, intent(in), optional:: flag_mpi_split
7489  real(DP), intent(out), optional:: returned_time
7490  logical, intent(out), optional:: flag_time_exist
7491  logical, intent(out), optional:: err
7492  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7493  character(STRING), pointer:: carray (:)
7494  character(STRING):: tname
7495  character(*), parameter :: subname = "HistoryGetDouble2TimeR"
7496  interface
7497  subroutine historygetdouble2pointer(&
7498  & file, varname, array, range, quiet, &
7499  & flag_mpi_split, returned_time, flag_time_exist, err)
7500  use dc_types, only: dp
7501  character(*), intent(in):: file
7502  character(*), intent(in):: varname
7503  character(*), intent(in), optional:: range
7504  logical, intent(in), optional:: quiet
7505  logical, intent(in), optional:: flag_mpi_split
7506  real(DP), intent(out), optional:: returned_time
7507  logical, intent(out), optional:: flag_time_exist
7508  logical, intent(out), optional:: err
7509  real(DP), pointer :: array(:,:)
7510  end subroutine historygetdouble2pointer
7511  end interface
7512  interface
7513  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7514  character(*), intent(in):: file
7515  character(*), intent(in):: varname
7516  character(*), intent(out):: url
7517  character(*), intent(in), optional:: range
7518  logical, intent(out), optional:: flag_time_exist
7519  character(*), intent(out), optional:: time_name
7520  logical, intent(out), optional:: err
7521  end subroutine lookup_growable_url
7522  end interface
7523  interface
7524  function file_rename_mpi( file ) result(result)
7525  use dc_types, only: string
7526  character(*), intent(in):: file
7527  character(STRING):: result
7528  end function file_rename_mpi
7529  end interface
7530  continue
7531  file_work = file
7532  if ( present_and_true( flag_mpi_split ) ) &
7533  & file_work = file_rename_mpi( file_work )
7534  call lookup_growable_url(file = file_work, varname = varname, &
7535  & url = url, &
7536  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7537  call url_chop_iorange( &
7538  & fullname = url, iorange = iorange, remainder = remainder )
7539  call split( str = iorange, carray = carray, sep = gt_equal )
7540  timevar_name = carray(1)
7541  deallocate( carray )
7542  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7543  call historygetdouble2pointer( file = file, &
7544  & varname = varname, array = array, &
7545  & range = time_range, quiet = quiet, &
7546  & flag_mpi_split = flag_mpi_split, &
7547  & returned_time = returned_time, &
7548  & flag_time_exist = flag_time_exist, &
7549  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetdouble2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble2timed()

subroutine historygetdouble2timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10518 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10518  use dc_string, only: tochar, split
10519  use dc_types, only: string, dp
10520  use dc_trace, only: dbgmessage
10521  use dc_url, only: url_chop_iorange, gt_equal
10522  use dc_present, only: present_and_true
10523  implicit none
10524  character(*), intent(in):: file, varname
10525  real(DP), intent(in):: time
10526  logical, intent(in), optional:: quiet
10527  real(DP), intent(out) :: array(:,:)
10528  logical, intent(in), optional:: flag_mpi_split
10529  real(DP), intent(out), optional:: returned_time
10530  logical, intent(out), optional:: flag_time_exist
10531  logical, intent(out), optional:: err
10532  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10533  character(STRING), pointer:: carray (:)
10534  character(STRING):: tname
10535  character(*), parameter :: subname = "HistoryGetDouble2TimeD"
10536  interface
10537  subroutine historygetdouble2(&
10538  & file, varname, array, range, quiet, &
10539  & flag_mpi_split, returned_time, flag_time_exist, err)
10540  use dc_types, only: dp
10541  character(*), intent(in):: file
10542  character(*), intent(in):: varname
10543  character(*), intent(in), optional:: range
10544  logical, intent(in), optional:: quiet
10545  logical, intent(in), optional:: flag_mpi_split
10546  real(DP), intent(out), optional:: returned_time
10547  logical, intent(out), optional:: flag_time_exist
10548  logical, intent(out), optional:: err
10549  real(DP), intent(out) :: array(:,:)
10550  end subroutine historygetdouble2
10551  end interface
10552  interface
10553  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10554  character(*), intent(in):: file
10555  character(*), intent(in):: varname
10556  character(*), intent(out):: url
10557  character(*), intent(in), optional:: range
10558  logical, intent(out), optional:: flag_time_exist
10559  character(*), intent(out), optional:: time_name
10560  logical, intent(out), optional:: err
10561  end subroutine lookup_growable_url
10562  end interface
10563  interface
10564  function file_rename_mpi( file ) result(result)
10565  use dc_types, only: string
10566  character(*), intent(in):: file
10567  character(STRING):: result
10568  end function file_rename_mpi
10569  end interface
10570  continue
10571  file_work = file
10572  if ( present_and_true( flag_mpi_split ) ) &
10573  & file_work = file_rename_mpi( file_work )
10574  call lookup_growable_url(file = file_work, varname = varname, &
10575  & url = url, &
10576  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10577  call url_chop_iorange( &
10578  & fullname = url, iorange = iorange, remainder = remainder )
10579  call split( str = iorange, carray = carray, sep = gt_equal )
10580  timevar_name = carray(1)
10581  deallocate( carray )
10582  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10583  call historygetdouble2( file = file, &
10584  & varname = varname, array = array, &
10585  & range = time_range, quiet = quiet, &
10586  & flag_mpi_split = flag_mpi_split, &
10587  & returned_time = returned_time, &
10588  & flag_time_exist = flag_time_exist, &
10589  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetdouble2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:412
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble2timei()

subroutine historygetdouble2timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14166 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14166  use dc_string, only: tochar, split
14167  use dc_types, only: string, dp
14168  use dc_trace, only: dbgmessage
14169  use dc_url, only: url_chop_iorange, gt_equal
14170  use dc_present, only: present_and_true
14171  implicit none
14172  character(*), intent(in):: file, varname
14173  integer, intent(in):: time
14174  logical, intent(in), optional:: quiet
14175  real(DP), intent(out) :: array(:,:)
14176  logical, intent(in), optional:: flag_mpi_split
14177  real(DP), intent(out), optional:: returned_time
14178  logical, intent(out), optional:: flag_time_exist
14179  logical, intent(out), optional:: err
14180  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14181  character(STRING), pointer:: carray (:)
14182  character(STRING):: tname
14183  character(*), parameter :: subname = "HistoryGetDouble2TimeI"
14184  interface
14185  subroutine historygetdouble2(&
14186  & file, varname, array, range, quiet, &
14187  & flag_mpi_split, returned_time, flag_time_exist, err)
14188  use dc_types, only: dp
14189  character(*), intent(in):: file
14190  character(*), intent(in):: varname
14191  character(*), intent(in), optional:: range
14192  logical, intent(in), optional:: quiet
14193  logical, intent(in), optional:: flag_mpi_split
14194  real(DP), intent(out), optional:: returned_time
14195  logical, intent(out), optional:: flag_time_exist
14196  logical, intent(out), optional:: err
14197  real(DP), intent(out) :: array(:,:)
14198  end subroutine historygetdouble2
14199  end interface
14200  interface
14201  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14202  character(*), intent(in):: file
14203  character(*), intent(in):: varname
14204  character(*), intent(out):: url
14205  character(*), intent(in), optional:: range
14206  logical, intent(out), optional:: flag_time_exist
14207  character(*), intent(out), optional:: time_name
14208  logical, intent(out), optional:: err
14209  end subroutine lookup_growable_url
14210  end interface
14211  interface
14212  function file_rename_mpi( file ) result(result)
14213  use dc_types, only: string
14214  character(*), intent(in):: file
14215  character(STRING):: result
14216  end function file_rename_mpi
14217  end interface
14218  continue
14219  file_work = file
14220  if ( present_and_true( flag_mpi_split ) ) &
14221  & file_work = file_rename_mpi( file_work )
14222  call lookup_growable_url(file = file_work, varname = varname, &
14223  & url = url, &
14224  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14225  call url_chop_iorange( &
14226  & fullname = url, iorange = iorange, remainder = remainder )
14227  call split( str = iorange, carray = carray, sep = gt_equal )
14228  timevar_name = carray(1)
14229  deallocate( carray )
14230  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14231  call historygetdouble2( file = file, &
14232  & varname = varname, array = array, &
14233  & range = time_range, quiet = quiet, &
14234  & flag_mpi_split = flag_mpi_split, &
14235  & returned_time = returned_time, &
14236  & flag_time_exist = flag_time_exist, &
14237  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetdouble2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:412
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble2timer()

subroutine historygetdouble2timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6870 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

6870  use dc_string, only: tochar, split
6871  use dc_types, only: string, dp, sp
6872  use dc_trace, only: dbgmessage
6873  use dc_url, only: url_chop_iorange, gt_equal
6874  use dc_present, only: present_and_true
6875  implicit none
6876  character(*), intent(in):: file, varname
6877  real(SP), intent(in):: time
6878  logical, intent(in), optional:: quiet
6879  real(DP), intent(out) :: array(:,:)
6880  logical, intent(in), optional:: flag_mpi_split
6881  real(DP), intent(out), optional:: returned_time
6882  logical, intent(out), optional:: flag_time_exist
6883  logical, intent(out), optional:: err
6884  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
6885  character(STRING), pointer:: carray (:)
6886  character(STRING):: tname
6887  character(*), parameter :: subname = "HistoryGetDouble2TimeR"
6888  interface
6889  subroutine historygetdouble2(&
6890  & file, varname, array, range, quiet, &
6891  & flag_mpi_split, returned_time, flag_time_exist, err)
6892  use dc_types, only: dp
6893  character(*), intent(in):: file
6894  character(*), intent(in):: varname
6895  character(*), intent(in), optional:: range
6896  logical, intent(in), optional:: quiet
6897  logical, intent(in), optional:: flag_mpi_split
6898  real(DP), intent(out), optional:: returned_time
6899  logical, intent(out), optional:: flag_time_exist
6900  logical, intent(out), optional:: err
6901  real(DP), intent(out) :: array(:,:)
6902  end subroutine historygetdouble2
6903  end interface
6904  interface
6905  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6906  character(*), intent(in):: file
6907  character(*), intent(in):: varname
6908  character(*), intent(out):: url
6909  character(*), intent(in), optional:: range
6910  logical, intent(out), optional:: flag_time_exist
6911  character(*), intent(out), optional:: time_name
6912  logical, intent(out), optional:: err
6913  end subroutine lookup_growable_url
6914  end interface
6915  interface
6916  function file_rename_mpi( file ) result(result)
6917  use dc_types, only: string
6918  character(*), intent(in):: file
6919  character(STRING):: result
6920  end function file_rename_mpi
6921  end interface
6922  continue
6923  file_work = file
6924  if ( present_and_true( flag_mpi_split ) ) &
6925  & file_work = file_rename_mpi( file_work )
6926  call lookup_growable_url(file = file_work, varname = varname, &
6927  & url = url, &
6928  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6929  call url_chop_iorange( &
6930  & fullname = url, iorange = iorange, remainder = remainder )
6931  call split( str = iorange, carray = carray, sep = gt_equal )
6932  timevar_name = carray(1)
6933  deallocate( carray )
6934  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
6935  call historygetdouble2( file = file, &
6936  & varname = varname, array = array, &
6937  & range = time_range, quiet = quiet, &
6938  & flag_mpi_split = flag_mpi_split, &
6939  & returned_time = returned_time, &
6940  & flag_time_exist = flag_time_exist, &
6941  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetdouble2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:412
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble3()

subroutine historygetdouble3 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 601 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble3timed(), historygetdouble3timei(), and historygetdouble3timer().

601  use gtdata_types, only: gt_variable
602  use gtdata_generic, only: open, inquire, close, get
603  use dc_string, only: tochar, split, joinchar, stoa
606  use dc_regex, only: match
607  use dc_types, only: string, dp
608  use dc_message, only: messagenotify
609  use dc_trace, only: dbgmessage
612  implicit none
613  character(*), intent(in):: file
614  character(*), intent(in):: varname
615  character(*), intent(in), optional:: range
616  logical, intent(in), optional:: quiet
617  logical, intent(in), optional:: flag_mpi_split
618  real(DP), intent(out), optional:: returned_time ! データの時刻
619  logical, intent(out), optional:: flag_time_exist
620  logical, intent(out), optional:: err
621  real(DP), intent(out) :: array(:,:,:)
622  real(DP), allocatable :: array_tmp(:)
623  integer:: array_allsize
624  integer:: array_shape(3), data_shape(3), array_shape_check(3)
625  integer:: allcount
626  integer:: i, sd
627  logical:: inq_err
628  type(gt_variable):: var
629  character(STRING):: file_work, url, actual_url
630  integer:: rank, alldims, array_rank
631  integer:: domain
632  character(STRING):: tname
633  integer:: stat
634  character(STRING):: cause_c
635  character(*), parameter :: subname = "HistoryGetDouble3"
636  interface
637  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
638  character(*), intent(in):: file
639  character(*), intent(in):: varname
640  character(*), intent(out):: url
641  character(*), intent(in), optional:: range
642  logical, intent(out), optional:: flag_time_exist
643  character(*), intent(out), optional:: time_name
644  logical, intent(out), optional:: err
645  end subroutine lookup_growable_url
646  end interface
647  interface
648  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
649  use dc_types, only: dp
650  character(*), intent(in) :: url ! 変数 URL
651  character(*), intent(out), optional :: actual_url
652  ! 正確な入出力範囲指定
653  real(DP), intent(out), optional:: returned_time ! データの時刻
654  character(*), intent(in), optional:: time_name ! 時刻次元の名称
655  logical, intent(out), optional :: err ! エラーのフラグ
656  end subroutine actual_iorange_dump
657  end interface
658  interface
659  function file_rename_mpi( file ) result(result)
660  use dc_types, only: string
661  character(*), intent(in):: file
662  character(STRING):: result
663  end function file_rename_mpi
664  end interface
665  continue
666  cause_c = ''
667  stat = dc_noerr
668  file_work = file
669  array_shape = shape( array )
670  array_allsize = size( array )
671  ! ファイル名の変更 (MPI 用)
672  ! Change filename (for MPI)
673  !
674  if ( present_and_true( flag_mpi_split ) ) &
675  & file_work = file_rename_mpi( file_work )
676  ! 最新時刻の URL 取得
677  ! Get URL of latest time
678  !
679  call lookup_growable_url(file_work, varname, url, range, &
680  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
681  if ( present_and_true(err) ) then
682  stat = gt_enoturl
683  cause_c = url
684  goto 999
685  end if
686  ! ファイルオープン
687  ! File open
688  call open( var, url, err = err )
689  if ( present_and_true(err) ) then
690  stat = gt_enoturl
691  cause_c = url
692  goto 999
693  end if
694  !-------------------------------------------------------------------
695  ! 配列形状のチェック
696  ! Check array shape
697  !-------------------------------------------------------------------
698  ! 入力ファイル中のデータの次元数
699  ! Get size of dimesions in data of an input file
700  !
701  call inquire( var = var, & ! (in)
702  & rank = rank, alldims = alldims ) ! (out)
703  ! 引数の次元数のチェック (縮退されている場合には減らす)
704  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
705  array_rank = 3
706  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
707  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
708  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
709  ! 次元数の比較
710  ! Compare sizes of dimensions
711  !
712  if ( .not. 3 == rank .and. .not. array_rank == rank ) then
713  if ( .not. present_and_true(quiet) ) then
714  call messagenotify('W', subname, &
715  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
716  & i = (/rank, 3/), c1 = trim(url) )
717  end if
718  stat = gt_erankmismatch
719  cause_c = 'array'
720  goto 999
721  end if
722  ! 入力ファイル中のデータの配列形状取得
723  ! Get shape of data in an input file
724  call inquire( var = var , dimord = 1, & ! (in)
725  & allcount = allcount, err = inq_err ) ! (out)
726  if ( .not. inq_err ) then
727  data_shape(1) = allcount
728  else
729  data_shape(1) = 1
730  end if
731  call inquire( var = var , dimord = 2, & ! (in)
732  & allcount = allcount, err = inq_err ) ! (out)
733  if ( .not. inq_err ) then
734  data_shape(2) = allcount
735  else
736  data_shape(2) = 1
737  end if
738  call inquire( var = var , dimord = 3, & ! (in)
739  & allcount = allcount, err = inq_err ) ! (out)
740  if ( .not. inq_err ) then
741  data_shape(3) = allcount
742  else
743  data_shape(3) = 1
744  end if
745  ! 引数の配列形状整形
746  ! Arrange shape of an argument
747  !
748  array_shape_check = array_shape
749  sd = 1
750  do i = 1, 3 - 1
751  if ( array_shape_check(sd) == 1 ) then
752  array_shape_check(sd:3) = cshift( array_shape_check(sd:3), 1, 1 )
753  else
754  sd = sd + 1
755  end if
756  end do
757  ! 配列形状の比較
758  ! Compare shapes
759  !
760  if ( .not. all( array_shape_check == data_shape ) ) then
761  if ( .not. present_and_true(quiet) ) then
762  call messagenotify('W', subname, &
763  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
764  & c1 = trim( url ), &
765  & c2 = trim( tochar( data_shape(1:rank) ) ), &
766  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
767  end if
768  stat = gt_eargsizemismatch
769  cause_c = 'array'
770  goto 999
771  end if
772  !-------------------------------------
773  ! データ取得
774  ! Get data
775  call inquire( var = var, & ! (in)
776  & size = domain ) ! (out)
777  if ( allocated( array_tmp ) ) deallocate( array_tmp )
778  allocate( array_tmp(array_allsize) )
779  call get( var, array_tmp, domain )
780  array = reshape( array_tmp, array_shape )
781  deallocate( array_tmp )
782  call close( var )
783  !-------------------------------------
784  ! データファイル名と切り出し範囲の印字
785  ! Print data filename and clipping range
786  call actual_iorange_dump(url, & ! (in)
787  & actual_url, returned_time, & ! (out) optional
788  & time_name = tname, & ! (in) optional
789  & err = err) ! (out) optional
790  if ( .not. present_and_true(quiet) ) then
791  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
792  end if
793 999 continue
794  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble3pointer()

subroutine historygetdouble3pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5052 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetdouble3pointertimed(), historygetdouble3pointertimei(), and historygetdouble3pointertimer().

5052  use gtdata_types, only: gt_variable
5053  use gtdata_generic, only: open, inquire, close, get
5054  use dc_string, only: tochar
5056  use dc_types, only: string, dp
5057  use dc_message, only: messagenotify
5058  use dc_trace, only: dbgmessage
5059  implicit none
5060  character(*), intent(in):: file
5061  character(*), intent(in):: varname
5062  character(*), intent(in), optional:: range
5063  logical, intent(in), optional:: quiet
5064  logical, intent(in), optional:: flag_mpi_split
5065  real(DP), intent(out), optional:: returned_time ! データの時刻
5066  logical, intent(out), optional:: flag_time_exist
5067  logical, intent(out), optional:: err
5068  integer:: domain
5069  real(DP), pointer :: array(:,:,:) ! (out)
5070  real(DP), target :: array_tmp(1)
5071  type(gt_variable):: var
5072  character(STRING):: file_work, url, actual_url
5073  character(STRING):: tname
5074  character(*), parameter :: subname = "HistoryGetDouble3Pointer"
5075  interface
5076  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5077  character(*), intent(in):: file
5078  character(*), intent(in):: varname
5079  character(*), intent(out):: url
5080  character(*), intent(in), optional:: range
5081  logical, intent(out), optional:: flag_time_exist
5082  character(*), intent(out), optional:: time_name
5083  logical, intent(out), optional:: err
5084  end subroutine lookup_growable_url
5085  end interface
5086  interface
5087  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5088  use dc_types, only: dp
5089  character(*), intent(in) :: url ! 変数 URL
5090  character(*), intent(out), optional :: actual_url
5091  ! 正確な入出力範囲指定
5092  real(DP), intent(out), optional:: returned_time ! データの時刻
5093  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5094  logical, intent(out), optional :: err ! エラーのフラグ
5095  end subroutine actual_iorange_dump
5096  end interface
5097  interface
5098  function file_rename_mpi( file ) result(result)
5099  use dc_types, only: string
5100  character(*), intent(in):: file
5101  character(STRING):: result
5102  end function file_rename_mpi
5103  end interface
5104  continue
5105  file_work = file
5106  ! ファイル名の変更 (MPI 用)
5107  ! Change filename (for MPI)
5108  !
5109  if ( present_and_true( flag_mpi_split ) ) &
5110  & file_work = file_rename_mpi( file_work )
5111  ! 必要な情報を gtool 変数化
5112  !
5113  call lookup_growable_url(file_work, varname, url, range, &
5114  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5115  call dbgmessage('@ url =%c', c1=trim(url))
5116  ! いよいよデータ取得
5117  !
5118  call open(var, url, err)
5119  call get(var, array, err)
5120  call close(var, err)
5121  call actual_iorange_dump(url, & ! (in)
5122  & actual_url, returned_time, & ! (out) optional
5123  & time_name = tname, & ! (in) optional
5124  & err = err) ! (out) optional
5125  if ( .not. present_and_true(quiet) ) then
5126  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5127  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble3pointertimed()

subroutine historygetdouble3pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11202 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

11202  use dc_string, only: tochar, split
11203  use dc_types, only: string, dp
11204  use dc_trace, only: dbgmessage
11205  use dc_url, only: url_chop_iorange, gt_equal
11206  use dc_present, only: present_and_true
11207  implicit none
11208  character(*), intent(in):: file, varname
11209  real(DP), intent(in):: time
11210  logical, intent(in), optional:: quiet
11211  real(DP), pointer :: array(:,:,:)
11212  logical, intent(in), optional:: flag_mpi_split
11213  real(DP), intent(out), optional:: returned_time
11214  logical, intent(out), optional:: flag_time_exist
11215  logical, intent(out), optional:: err
11216  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11217  character(STRING), pointer:: carray (:)
11218  character(STRING):: tname
11219  character(*), parameter :: subname = "HistoryGetDouble3TimeD"
11220  interface
11221  subroutine historygetdouble3pointer(&
11222  & file, varname, array, range, quiet, &
11223  & flag_mpi_split, returned_time, flag_time_exist, err)
11224  use dc_types, only: dp
11225  character(*), intent(in):: file
11226  character(*), intent(in):: varname
11227  character(*), intent(in), optional:: range
11228  logical, intent(in), optional:: quiet
11229  logical, intent(in), optional:: flag_mpi_split
11230  real(DP), intent(out), optional:: returned_time
11231  logical, intent(out), optional:: flag_time_exist
11232  logical, intent(out), optional:: err
11233  real(DP), pointer :: array(:,:,:)
11234  end subroutine historygetdouble3pointer
11235  end interface
11236  interface
11237  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11238  character(*), intent(in):: file
11239  character(*), intent(in):: varname
11240  character(*), intent(out):: url
11241  character(*), intent(in), optional:: range
11242  logical, intent(out), optional:: flag_time_exist
11243  character(*), intent(out), optional:: time_name
11244  logical, intent(out), optional:: err
11245  end subroutine lookup_growable_url
11246  end interface
11247  interface
11248  function file_rename_mpi( file ) result(result)
11249  use dc_types, only: string
11250  character(*), intent(in):: file
11251  character(STRING):: result
11252  end function file_rename_mpi
11253  end interface
11254  continue
11255  file_work = file
11256  if ( present_and_true( flag_mpi_split ) ) &
11257  & file_work = file_rename_mpi( file_work )
11258  call lookup_growable_url(file = file_work, varname = varname, &
11259  & url = url, &
11260  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11261  call url_chop_iorange( &
11262  & fullname = url, iorange = iorange, remainder = remainder )
11263  call split( str = iorange, carray = carray, sep = gt_equal )
11264  timevar_name = carray(1)
11265  deallocate( carray )
11266  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11267  call historygetdouble3pointer( file = file, &
11268  & varname = varname, array = array, &
11269  & range = time_range, quiet = quiet, &
11270  & flag_mpi_split = flag_mpi_split, &
11271  & returned_time = returned_time, &
11272  & flag_time_exist = flag_time_exist, &
11273  & err = err )
subroutine historygetdouble3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble3pointertimei()

subroutine historygetdouble3pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14850 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14850  use dc_string, only: tochar, split
14851  use dc_types, only: string, dp
14852  use dc_trace, only: dbgmessage
14853  use dc_url, only: url_chop_iorange, gt_equal
14854  use dc_present, only: present_and_true
14855  implicit none
14856  character(*), intent(in):: file, varname
14857  integer, intent(in):: time
14858  logical, intent(in), optional:: quiet
14859  real(DP), pointer :: array(:,:,:)
14860  logical, intent(in), optional:: flag_mpi_split
14861  real(DP), intent(out), optional:: returned_time
14862  logical, intent(out), optional:: flag_time_exist
14863  logical, intent(out), optional:: err
14864  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14865  character(STRING), pointer:: carray (:)
14866  character(STRING):: tname
14867  character(*), parameter :: subname = "HistoryGetDouble3TimeI"
14868  interface
14869  subroutine historygetdouble3pointer(&
14870  & file, varname, array, range, quiet, &
14871  & flag_mpi_split, returned_time, flag_time_exist, err)
14872  use dc_types, only: dp
14873  character(*), intent(in):: file
14874  character(*), intent(in):: varname
14875  character(*), intent(in), optional:: range
14876  logical, intent(in), optional:: quiet
14877  logical, intent(in), optional:: flag_mpi_split
14878  real(DP), intent(out), optional:: returned_time
14879  logical, intent(out), optional:: flag_time_exist
14880  logical, intent(out), optional:: err
14881  real(DP), pointer :: array(:,:,:)
14882  end subroutine historygetdouble3pointer
14883  end interface
14884  interface
14885  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14886  character(*), intent(in):: file
14887  character(*), intent(in):: varname
14888  character(*), intent(out):: url
14889  character(*), intent(in), optional:: range
14890  logical, intent(out), optional:: flag_time_exist
14891  character(*), intent(out), optional:: time_name
14892  logical, intent(out), optional:: err
14893  end subroutine lookup_growable_url
14894  end interface
14895  interface
14896  function file_rename_mpi( file ) result(result)
14897  use dc_types, only: string
14898  character(*), intent(in):: file
14899  character(STRING):: result
14900  end function file_rename_mpi
14901  end interface
14902  continue
14903  file_work = file
14904  if ( present_and_true( flag_mpi_split ) ) &
14905  & file_work = file_rename_mpi( file_work )
14906  call lookup_growable_url(file = file_work, varname = varname, &
14907  & url = url, &
14908  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14909  call url_chop_iorange( &
14910  & fullname = url, iorange = iorange, remainder = remainder )
14911  call split( str = iorange, carray = carray, sep = gt_equal )
14912  timevar_name = carray(1)
14913  deallocate( carray )
14914  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14915  call historygetdouble3pointer( file = file, &
14916  & varname = varname, array = array, &
14917  & range = time_range, quiet = quiet, &
14918  & flag_mpi_split = flag_mpi_split, &
14919  & returned_time = returned_time, &
14920  & flag_time_exist = flag_time_exist, &
14921  & err = err )
subroutine historygetdouble3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble3pointertimer()

subroutine historygetdouble3pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7554 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7554  use dc_string, only: tochar, split
7555  use dc_types, only: string, dp, sp
7556  use dc_trace, only: dbgmessage
7557  use dc_url, only: url_chop_iorange, gt_equal
7558  use dc_present, only: present_and_true
7559  implicit none
7560  character(*), intent(in):: file, varname
7561  real(SP), intent(in):: time
7562  logical, intent(in), optional:: quiet
7563  real(DP), pointer :: array(:,:,:)
7564  logical, intent(in), optional:: flag_mpi_split
7565  real(DP), intent(out), optional:: returned_time
7566  logical, intent(out), optional:: flag_time_exist
7567  logical, intent(out), optional:: err
7568  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7569  character(STRING), pointer:: carray (:)
7570  character(STRING):: tname
7571  character(*), parameter :: subname = "HistoryGetDouble3TimeR"
7572  interface
7573  subroutine historygetdouble3pointer(&
7574  & file, varname, array, range, quiet, &
7575  & flag_mpi_split, returned_time, flag_time_exist, err)
7576  use dc_types, only: dp
7577  character(*), intent(in):: file
7578  character(*), intent(in):: varname
7579  character(*), intent(in), optional:: range
7580  logical, intent(in), optional:: quiet
7581  logical, intent(in), optional:: flag_mpi_split
7582  real(DP), intent(out), optional:: returned_time
7583  logical, intent(out), optional:: flag_time_exist
7584  logical, intent(out), optional:: err
7585  real(DP), pointer :: array(:,:,:)
7586  end subroutine historygetdouble3pointer
7587  end interface
7588  interface
7589  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7590  character(*), intent(in):: file
7591  character(*), intent(in):: varname
7592  character(*), intent(out):: url
7593  character(*), intent(in), optional:: range
7594  logical, intent(out), optional:: flag_time_exist
7595  character(*), intent(out), optional:: time_name
7596  logical, intent(out), optional:: err
7597  end subroutine lookup_growable_url
7598  end interface
7599  interface
7600  function file_rename_mpi( file ) result(result)
7601  use dc_types, only: string
7602  character(*), intent(in):: file
7603  character(STRING):: result
7604  end function file_rename_mpi
7605  end interface
7606  continue
7607  file_work = file
7608  if ( present_and_true( flag_mpi_split ) ) &
7609  & file_work = file_rename_mpi( file_work )
7610  call lookup_growable_url(file = file_work, varname = varname, &
7611  & url = url, &
7612  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7613  call url_chop_iorange( &
7614  & fullname = url, iorange = iorange, remainder = remainder )
7615  call split( str = iorange, carray = carray, sep = gt_equal )
7616  timevar_name = carray(1)
7617  deallocate( carray )
7618  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7619  call historygetdouble3pointer( file = file, &
7620  & varname = varname, array = array, &
7621  & range = time_range, quiet = quiet, &
7622  & flag_mpi_split = flag_mpi_split, &
7623  & returned_time = returned_time, &
7624  & flag_time_exist = flag_time_exist, &
7625  & err = err )
subroutine historygetdouble3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble3timed()

subroutine historygetdouble3timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10594 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10594  use dc_string, only: tochar, split
10595  use dc_types, only: string, dp
10596  use dc_trace, only: dbgmessage
10597  use dc_url, only: url_chop_iorange, gt_equal
10598  use dc_present, only: present_and_true
10599  implicit none
10600  character(*), intent(in):: file, varname
10601  real(DP), intent(in):: time
10602  logical, intent(in), optional:: quiet
10603  real(DP), intent(out) :: array(:,:,:)
10604  logical, intent(in), optional:: flag_mpi_split
10605  real(DP), intent(out), optional:: returned_time
10606  logical, intent(out), optional:: flag_time_exist
10607  logical, intent(out), optional:: err
10608  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10609  character(STRING), pointer:: carray (:)
10610  character(STRING):: tname
10611  character(*), parameter :: subname = "HistoryGetDouble3TimeD"
10612  interface
10613  subroutine historygetdouble3(&
10614  & file, varname, array, range, quiet, &
10615  & flag_mpi_split, returned_time, flag_time_exist, err)
10616  use dc_types, only: dp
10617  character(*), intent(in):: file
10618  character(*), intent(in):: varname
10619  character(*), intent(in), optional:: range
10620  logical, intent(in), optional:: quiet
10621  logical, intent(in), optional:: flag_mpi_split
10622  real(DP), intent(out), optional:: returned_time
10623  logical, intent(out), optional:: flag_time_exist
10624  logical, intent(out), optional:: err
10625  real(DP), intent(out) :: array(:,:,:)
10626  end subroutine historygetdouble3
10627  end interface
10628  interface
10629  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10630  character(*), intent(in):: file
10631  character(*), intent(in):: varname
10632  character(*), intent(out):: url
10633  character(*), intent(in), optional:: range
10634  logical, intent(out), optional:: flag_time_exist
10635  character(*), intent(out), optional:: time_name
10636  logical, intent(out), optional:: err
10637  end subroutine lookup_growable_url
10638  end interface
10639  interface
10640  function file_rename_mpi( file ) result(result)
10641  use dc_types, only: string
10642  character(*), intent(in):: file
10643  character(STRING):: result
10644  end function file_rename_mpi
10645  end interface
10646  continue
10647  file_work = file
10648  if ( present_and_true( flag_mpi_split ) ) &
10649  & file_work = file_rename_mpi( file_work )
10650  call lookup_growable_url(file = file_work, varname = varname, &
10651  & url = url, &
10652  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10653  call url_chop_iorange( &
10654  & fullname = url, iorange = iorange, remainder = remainder )
10655  call split( str = iorange, carray = carray, sep = gt_equal )
10656  timevar_name = carray(1)
10657  deallocate( carray )
10658  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10659  call historygetdouble3( file = file, &
10660  & varname = varname, array = array, &
10661  & range = time_range, quiet = quiet, &
10662  & flag_mpi_split = flag_mpi_split, &
10663  & returned_time = returned_time, &
10664  & flag_time_exist = flag_time_exist, &
10665  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetdouble3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:601
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble3timei()

subroutine historygetdouble3timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14242 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14242  use dc_string, only: tochar, split
14243  use dc_types, only: string, dp
14244  use dc_trace, only: dbgmessage
14245  use dc_url, only: url_chop_iorange, gt_equal
14246  use dc_present, only: present_and_true
14247  implicit none
14248  character(*), intent(in):: file, varname
14249  integer, intent(in):: time
14250  logical, intent(in), optional:: quiet
14251  real(DP), intent(out) :: array(:,:,:)
14252  logical, intent(in), optional:: flag_mpi_split
14253  real(DP), intent(out), optional:: returned_time
14254  logical, intent(out), optional:: flag_time_exist
14255  logical, intent(out), optional:: err
14256  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14257  character(STRING), pointer:: carray (:)
14258  character(STRING):: tname
14259  character(*), parameter :: subname = "HistoryGetDouble3TimeI"
14260  interface
14261  subroutine historygetdouble3(&
14262  & file, varname, array, range, quiet, &
14263  & flag_mpi_split, returned_time, flag_time_exist, err)
14264  use dc_types, only: dp
14265  character(*), intent(in):: file
14266  character(*), intent(in):: varname
14267  character(*), intent(in), optional:: range
14268  logical, intent(in), optional:: quiet
14269  logical, intent(in), optional:: flag_mpi_split
14270  real(DP), intent(out), optional:: returned_time
14271  logical, intent(out), optional:: flag_time_exist
14272  logical, intent(out), optional:: err
14273  real(DP), intent(out) :: array(:,:,:)
14274  end subroutine historygetdouble3
14275  end interface
14276  interface
14277  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14278  character(*), intent(in):: file
14279  character(*), intent(in):: varname
14280  character(*), intent(out):: url
14281  character(*), intent(in), optional:: range
14282  logical, intent(out), optional:: flag_time_exist
14283  character(*), intent(out), optional:: time_name
14284  logical, intent(out), optional:: err
14285  end subroutine lookup_growable_url
14286  end interface
14287  interface
14288  function file_rename_mpi( file ) result(result)
14289  use dc_types, only: string
14290  character(*), intent(in):: file
14291  character(STRING):: result
14292  end function file_rename_mpi
14293  end interface
14294  continue
14295  file_work = file
14296  if ( present_and_true( flag_mpi_split ) ) &
14297  & file_work = file_rename_mpi( file_work )
14298  call lookup_growable_url(file = file_work, varname = varname, &
14299  & url = url, &
14300  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14301  call url_chop_iorange( &
14302  & fullname = url, iorange = iorange, remainder = remainder )
14303  call split( str = iorange, carray = carray, sep = gt_equal )
14304  timevar_name = carray(1)
14305  deallocate( carray )
14306  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14307  call historygetdouble3( file = file, &
14308  & varname = varname, array = array, &
14309  & range = time_range, quiet = quiet, &
14310  & flag_mpi_split = flag_mpi_split, &
14311  & returned_time = returned_time, &
14312  & flag_time_exist = flag_time_exist, &
14313  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetdouble3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:601
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble3timer()

subroutine historygetdouble3timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6946 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

6946  use dc_string, only: tochar, split
6947  use dc_types, only: string, dp, sp
6948  use dc_trace, only: dbgmessage
6949  use dc_url, only: url_chop_iorange, gt_equal
6950  use dc_present, only: present_and_true
6951  implicit none
6952  character(*), intent(in):: file, varname
6953  real(SP), intent(in):: time
6954  logical, intent(in), optional:: quiet
6955  real(DP), intent(out) :: array(:,:,:)
6956  logical, intent(in), optional:: flag_mpi_split
6957  real(DP), intent(out), optional:: returned_time
6958  logical, intent(out), optional:: flag_time_exist
6959  logical, intent(out), optional:: err
6960  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
6961  character(STRING), pointer:: carray (:)
6962  character(STRING):: tname
6963  character(*), parameter :: subname = "HistoryGetDouble3TimeR"
6964  interface
6965  subroutine historygetdouble3(&
6966  & file, varname, array, range, quiet, &
6967  & flag_mpi_split, returned_time, flag_time_exist, err)
6968  use dc_types, only: dp
6969  character(*), intent(in):: file
6970  character(*), intent(in):: varname
6971  character(*), intent(in), optional:: range
6972  logical, intent(in), optional:: quiet
6973  logical, intent(in), optional:: flag_mpi_split
6974  real(DP), intent(out), optional:: returned_time
6975  logical, intent(out), optional:: flag_time_exist
6976  logical, intent(out), optional:: err
6977  real(DP), intent(out) :: array(:,:,:)
6978  end subroutine historygetdouble3
6979  end interface
6980  interface
6981  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6982  character(*), intent(in):: file
6983  character(*), intent(in):: varname
6984  character(*), intent(out):: url
6985  character(*), intent(in), optional:: range
6986  logical, intent(out), optional:: flag_time_exist
6987  character(*), intent(out), optional:: time_name
6988  logical, intent(out), optional:: err
6989  end subroutine lookup_growable_url
6990  end interface
6991  interface
6992  function file_rename_mpi( file ) result(result)
6993  use dc_types, only: string
6994  character(*), intent(in):: file
6995  character(STRING):: result
6996  end function file_rename_mpi
6997  end interface
6998  continue
6999  file_work = file
7000  if ( present_and_true( flag_mpi_split ) ) &
7001  & file_work = file_rename_mpi( file_work )
7002  call lookup_growable_url(file = file_work, varname = varname, &
7003  & url = url, &
7004  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7005  call url_chop_iorange( &
7006  & fullname = url, iorange = iorange, remainder = remainder )
7007  call split( str = iorange, carray = carray, sep = gt_equal )
7008  timevar_name = carray(1)
7009  deallocate( carray )
7010  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7011  call historygetdouble3( file = file, &
7012  & varname = varname, array = array, &
7013  & range = time_range, quiet = quiet, &
7014  & flag_mpi_split = flag_mpi_split, &
7015  & returned_time = returned_time, &
7016  & flag_time_exist = flag_time_exist, &
7017  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetdouble3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:601
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble4()

subroutine historygetdouble4 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 798 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble4timed(), historygetdouble4timei(), and historygetdouble4timer().

798  use gtdata_types, only: gt_variable
799  use gtdata_generic, only: open, inquire, close, get
800  use dc_string, only: tochar, split, joinchar, stoa
803  use dc_regex, only: match
804  use dc_types, only: string, dp
805  use dc_message, only: messagenotify
806  use dc_trace, only: dbgmessage
809  implicit none
810  character(*), intent(in):: file
811  character(*), intent(in):: varname
812  character(*), intent(in), optional:: range
813  logical, intent(in), optional:: quiet
814  logical, intent(in), optional:: flag_mpi_split
815  real(DP), intent(out), optional:: returned_time ! データの時刻
816  logical, intent(out), optional:: flag_time_exist
817  logical, intent(out), optional:: err
818  real(DP), intent(out) :: array(:,:,:,:)
819  real(DP), allocatable :: array_tmp(:)
820  integer:: array_allsize
821  integer:: array_shape(4), data_shape(4), array_shape_check(4)
822  integer:: allcount
823  integer:: i, sd
824  logical:: inq_err
825  type(gt_variable):: var
826  character(STRING):: file_work, url, actual_url
827  integer:: rank, alldims, array_rank
828  integer:: domain
829  character(STRING):: tname
830  integer:: stat
831  character(STRING):: cause_c
832  character(*), parameter :: subname = "HistoryGetDouble4"
833  interface
834  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
835  character(*), intent(in):: file
836  character(*), intent(in):: varname
837  character(*), intent(out):: url
838  character(*), intent(in), optional:: range
839  logical, intent(out), optional:: flag_time_exist
840  character(*), intent(out), optional:: time_name
841  logical, intent(out), optional:: err
842  end subroutine lookup_growable_url
843  end interface
844  interface
845  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
846  use dc_types, only: dp
847  character(*), intent(in) :: url ! 変数 URL
848  character(*), intent(out), optional :: actual_url
849  ! 正確な入出力範囲指定
850  real(DP), intent(out), optional:: returned_time ! データの時刻
851  character(*), intent(in), optional:: time_name ! 時刻次元の名称
852  logical, intent(out), optional :: err ! エラーのフラグ
853  end subroutine actual_iorange_dump
854  end interface
855  interface
856  function file_rename_mpi( file ) result(result)
857  use dc_types, only: string
858  character(*), intent(in):: file
859  character(STRING):: result
860  end function file_rename_mpi
861  end interface
862  continue
863  cause_c = ''
864  stat = dc_noerr
865  file_work = file
866  array_shape = shape( array )
867  array_allsize = size( array )
868  ! ファイル名の変更 (MPI 用)
869  ! Change filename (for MPI)
870  !
871  if ( present_and_true( flag_mpi_split ) ) &
872  & file_work = file_rename_mpi( file_work )
873  ! 最新時刻の URL 取得
874  ! Get URL of latest time
875  !
876  call lookup_growable_url(file_work, varname, url, range, &
877  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
878  if ( present_and_true(err) ) then
879  stat = gt_enoturl
880  cause_c = url
881  goto 999
882  end if
883  ! ファイルオープン
884  ! File open
885  call open( var, url, err = err )
886  if ( present_and_true(err) ) then
887  stat = gt_enoturl
888  cause_c = url
889  goto 999
890  end if
891  !-------------------------------------------------------------------
892  ! 配列形状のチェック
893  ! Check array shape
894  !-------------------------------------------------------------------
895  ! 入力ファイル中のデータの次元数
896  ! Get size of dimesions in data of an input file
897  !
898  call inquire( var = var, & ! (in)
899  & rank = rank, alldims = alldims ) ! (out)
900  ! 引数の次元数のチェック (縮退されている場合には減らす)
901  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
902  array_rank = 4
903  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
904  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
905  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
906  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
907  ! 次元数の比較
908  ! Compare sizes of dimensions
909  !
910  if ( .not. 4 == rank .and. .not. array_rank == rank ) then
911  if ( .not. present_and_true(quiet) ) then
912  call messagenotify('W', subname, &
913  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
914  & i = (/rank, 4/), c1 = trim(url) )
915  end if
916  stat = gt_erankmismatch
917  cause_c = 'array'
918  goto 999
919  end if
920  ! 入力ファイル中のデータの配列形状取得
921  ! Get shape of data in an input file
922  call inquire( var = var , dimord = 1, & ! (in)
923  & allcount = allcount, err = inq_err ) ! (out)
924  if ( .not. inq_err ) then
925  data_shape(1) = allcount
926  else
927  data_shape(1) = 1
928  end if
929  call inquire( var = var , dimord = 2, & ! (in)
930  & allcount = allcount, err = inq_err ) ! (out)
931  if ( .not. inq_err ) then
932  data_shape(2) = allcount
933  else
934  data_shape(2) = 1
935  end if
936  call inquire( var = var , dimord = 3, & ! (in)
937  & allcount = allcount, err = inq_err ) ! (out)
938  if ( .not. inq_err ) then
939  data_shape(3) = allcount
940  else
941  data_shape(3) = 1
942  end if
943  call inquire( var = var , dimord = 4, & ! (in)
944  & allcount = allcount, err = inq_err ) ! (out)
945  if ( .not. inq_err ) then
946  data_shape(4) = allcount
947  else
948  data_shape(4) = 1
949  end if
950  ! 引数の配列形状整形
951  ! Arrange shape of an argument
952  !
953  array_shape_check = array_shape
954  sd = 1
955  do i = 1, 4 - 1
956  if ( array_shape_check(sd) == 1 ) then
957  array_shape_check(sd:4) = cshift( array_shape_check(sd:4), 1, 1 )
958  else
959  sd = sd + 1
960  end if
961  end do
962  ! 配列形状の比較
963  ! Compare shapes
964  !
965  if ( .not. all( array_shape_check == data_shape ) ) then
966  if ( .not. present_and_true(quiet) ) then
967  call messagenotify('W', subname, &
968  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
969  & c1 = trim( url ), &
970  & c2 = trim( tochar( data_shape(1:rank) ) ), &
971  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
972  end if
973  stat = gt_eargsizemismatch
974  cause_c = 'array'
975  goto 999
976  end if
977  !-------------------------------------
978  ! データ取得
979  ! Get data
980  call inquire( var = var, & ! (in)
981  & size = domain ) ! (out)
982  if ( allocated( array_tmp ) ) deallocate( array_tmp )
983  allocate( array_tmp(array_allsize) )
984  call get( var, array_tmp, domain )
985  array = reshape( array_tmp, array_shape )
986  deallocate( array_tmp )
987  call close( var )
988  !-------------------------------------
989  ! データファイル名と切り出し範囲の印字
990  ! Print data filename and clipping range
991  call actual_iorange_dump(url, & ! (in)
992  & actual_url, returned_time, & ! (out) optional
993  & time_name = tname, & ! (in) optional
994  & err = err) ! (out) optional
995  if ( .not. present_and_true(quiet) ) then
996  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
997  end if
998 999 continue
999  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble4pointer()

subroutine historygetdouble4pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5131 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetdouble4pointertimed(), historygetdouble4pointertimei(), and historygetdouble4pointertimer().

5131  use gtdata_types, only: gt_variable
5132  use gtdata_generic, only: open, inquire, close, get
5133  use dc_string, only: tochar
5135  use dc_types, only: string, dp
5136  use dc_message, only: messagenotify
5137  use dc_trace, only: dbgmessage
5138  implicit none
5139  character(*), intent(in):: file
5140  character(*), intent(in):: varname
5141  character(*), intent(in), optional:: range
5142  logical, intent(in), optional:: quiet
5143  logical, intent(in), optional:: flag_mpi_split
5144  real(DP), intent(out), optional:: returned_time ! データの時刻
5145  logical, intent(out), optional:: flag_time_exist
5146  logical, intent(out), optional:: err
5147  integer:: domain
5148  real(DP), pointer :: array(:,:,:,:) ! (out)
5149  real(DP), target :: array_tmp(1)
5150  type(gt_variable):: var
5151  character(STRING):: file_work, url, actual_url
5152  character(STRING):: tname
5153  character(*), parameter :: subname = "HistoryGetDouble4Pointer"
5154  interface
5155  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5156  character(*), intent(in):: file
5157  character(*), intent(in):: varname
5158  character(*), intent(out):: url
5159  character(*), intent(in), optional:: range
5160  logical, intent(out), optional:: flag_time_exist
5161  character(*), intent(out), optional:: time_name
5162  logical, intent(out), optional:: err
5163  end subroutine lookup_growable_url
5164  end interface
5165  interface
5166  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5167  use dc_types, only: dp
5168  character(*), intent(in) :: url ! 変数 URL
5169  character(*), intent(out), optional :: actual_url
5170  ! 正確な入出力範囲指定
5171  real(DP), intent(out), optional:: returned_time ! データの時刻
5172  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5173  logical, intent(out), optional :: err ! エラーのフラグ
5174  end subroutine actual_iorange_dump
5175  end interface
5176  interface
5177  function file_rename_mpi( file ) result(result)
5178  use dc_types, only: string
5179  character(*), intent(in):: file
5180  character(STRING):: result
5181  end function file_rename_mpi
5182  end interface
5183  continue
5184  file_work = file
5185  ! ファイル名の変更 (MPI 用)
5186  ! Change filename (for MPI)
5187  !
5188  if ( present_and_true( flag_mpi_split ) ) &
5189  & file_work = file_rename_mpi( file_work )
5190  ! 必要な情報を gtool 変数化
5191  !
5192  call lookup_growable_url(file_work, varname, url, range, &
5193  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5194  call dbgmessage('@ url =%c', c1=trim(url))
5195  ! いよいよデータ取得
5196  !
5197  call open(var, url, err)
5198  call get(var, array, err)
5199  call close(var, err)
5200  call actual_iorange_dump(url, & ! (in)
5201  & actual_url, returned_time, & ! (out) optional
5202  & time_name = tname, & ! (in) optional
5203  & err = err) ! (out) optional
5204  if ( .not. present_and_true(quiet) ) then
5205  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5206  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble4pointertimed()

subroutine historygetdouble4pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11278 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

11278  use dc_string, only: tochar, split
11279  use dc_types, only: string, dp
11280  use dc_trace, only: dbgmessage
11281  use dc_url, only: url_chop_iorange, gt_equal
11282  use dc_present, only: present_and_true
11283  implicit none
11284  character(*), intent(in):: file, varname
11285  real(DP), intent(in):: time
11286  logical, intent(in), optional:: quiet
11287  real(DP), pointer :: array(:,:,:,:)
11288  logical, intent(in), optional:: flag_mpi_split
11289  real(DP), intent(out), optional:: returned_time
11290  logical, intent(out), optional:: flag_time_exist
11291  logical, intent(out), optional:: err
11292  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11293  character(STRING), pointer:: carray (:)
11294  character(STRING):: tname
11295  character(*), parameter :: subname = "HistoryGetDouble4TimeD"
11296  interface
11297  subroutine historygetdouble4pointer(&
11298  & file, varname, array, range, quiet, &
11299  & flag_mpi_split, returned_time, flag_time_exist, err)
11300  use dc_types, only: dp
11301  character(*), intent(in):: file
11302  character(*), intent(in):: varname
11303  character(*), intent(in), optional:: range
11304  logical, intent(in), optional:: quiet
11305  logical, intent(in), optional:: flag_mpi_split
11306  real(DP), intent(out), optional:: returned_time
11307  logical, intent(out), optional:: flag_time_exist
11308  logical, intent(out), optional:: err
11309  real(DP), pointer :: array(:,:,:,:)
11310  end subroutine historygetdouble4pointer
11311  end interface
11312  interface
11313  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11314  character(*), intent(in):: file
11315  character(*), intent(in):: varname
11316  character(*), intent(out):: url
11317  character(*), intent(in), optional:: range
11318  logical, intent(out), optional:: flag_time_exist
11319  character(*), intent(out), optional:: time_name
11320  logical, intent(out), optional:: err
11321  end subroutine lookup_growable_url
11322  end interface
11323  interface
11324  function file_rename_mpi( file ) result(result)
11325  use dc_types, only: string
11326  character(*), intent(in):: file
11327  character(STRING):: result
11328  end function file_rename_mpi
11329  end interface
11330  continue
11331  file_work = file
11332  if ( present_and_true( flag_mpi_split ) ) &
11333  & file_work = file_rename_mpi( file_work )
11334  call lookup_growable_url(file = file_work, varname = varname, &
11335  & url = url, &
11336  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11337  call url_chop_iorange( &
11338  & fullname = url, iorange = iorange, remainder = remainder )
11339  call split( str = iorange, carray = carray, sep = gt_equal )
11340  timevar_name = carray(1)
11341  deallocate( carray )
11342  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11343  call historygetdouble4pointer( file = file, &
11344  & varname = varname, array = array, &
11345  & range = time_range, quiet = quiet, &
11346  & flag_mpi_split = flag_mpi_split, &
11347  & returned_time = returned_time, &
11348  & flag_time_exist = flag_time_exist, &
11349  & err = err )
subroutine historygetdouble4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble4pointertimei()

subroutine historygetdouble4pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14926 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14926  use dc_string, only: tochar, split
14927  use dc_types, only: string, dp
14928  use dc_trace, only: dbgmessage
14929  use dc_url, only: url_chop_iorange, gt_equal
14930  use dc_present, only: present_and_true
14931  implicit none
14932  character(*), intent(in):: file, varname
14933  integer, intent(in):: time
14934  logical, intent(in), optional:: quiet
14935  real(DP), pointer :: array(:,:,:,:)
14936  logical, intent(in), optional:: flag_mpi_split
14937  real(DP), intent(out), optional:: returned_time
14938  logical, intent(out), optional:: flag_time_exist
14939  logical, intent(out), optional:: err
14940  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14941  character(STRING), pointer:: carray (:)
14942  character(STRING):: tname
14943  character(*), parameter :: subname = "HistoryGetDouble4TimeI"
14944  interface
14945  subroutine historygetdouble4pointer(&
14946  & file, varname, array, range, quiet, &
14947  & flag_mpi_split, returned_time, flag_time_exist, err)
14948  use dc_types, only: dp
14949  character(*), intent(in):: file
14950  character(*), intent(in):: varname
14951  character(*), intent(in), optional:: range
14952  logical, intent(in), optional:: quiet
14953  logical, intent(in), optional:: flag_mpi_split
14954  real(DP), intent(out), optional:: returned_time
14955  logical, intent(out), optional:: flag_time_exist
14956  logical, intent(out), optional:: err
14957  real(DP), pointer :: array(:,:,:,:)
14958  end subroutine historygetdouble4pointer
14959  end interface
14960  interface
14961  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14962  character(*), intent(in):: file
14963  character(*), intent(in):: varname
14964  character(*), intent(out):: url
14965  character(*), intent(in), optional:: range
14966  logical, intent(out), optional:: flag_time_exist
14967  character(*), intent(out), optional:: time_name
14968  logical, intent(out), optional:: err
14969  end subroutine lookup_growable_url
14970  end interface
14971  interface
14972  function file_rename_mpi( file ) result(result)
14973  use dc_types, only: string
14974  character(*), intent(in):: file
14975  character(STRING):: result
14976  end function file_rename_mpi
14977  end interface
14978  continue
14979  file_work = file
14980  if ( present_and_true( flag_mpi_split ) ) &
14981  & file_work = file_rename_mpi( file_work )
14982  call lookup_growable_url(file = file_work, varname = varname, &
14983  & url = url, &
14984  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14985  call url_chop_iorange( &
14986  & fullname = url, iorange = iorange, remainder = remainder )
14987  call split( str = iorange, carray = carray, sep = gt_equal )
14988  timevar_name = carray(1)
14989  deallocate( carray )
14990  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14991  call historygetdouble4pointer( file = file, &
14992  & varname = varname, array = array, &
14993  & range = time_range, quiet = quiet, &
14994  & flag_mpi_split = flag_mpi_split, &
14995  & returned_time = returned_time, &
14996  & flag_time_exist = flag_time_exist, &
14997  & err = err )
subroutine historygetdouble4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble4pointertimer()

subroutine historygetdouble4pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7630 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7630  use dc_string, only: tochar, split
7631  use dc_types, only: string, dp, sp
7632  use dc_trace, only: dbgmessage
7633  use dc_url, only: url_chop_iorange, gt_equal
7634  use dc_present, only: present_and_true
7635  implicit none
7636  character(*), intent(in):: file, varname
7637  real(SP), intent(in):: time
7638  logical, intent(in), optional:: quiet
7639  real(DP), pointer :: array(:,:,:,:)
7640  logical, intent(in), optional:: flag_mpi_split
7641  real(DP), intent(out), optional:: returned_time
7642  logical, intent(out), optional:: flag_time_exist
7643  logical, intent(out), optional:: err
7644  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7645  character(STRING), pointer:: carray (:)
7646  character(STRING):: tname
7647  character(*), parameter :: subname = "HistoryGetDouble4TimeR"
7648  interface
7649  subroutine historygetdouble4pointer(&
7650  & file, varname, array, range, quiet, &
7651  & flag_mpi_split, returned_time, flag_time_exist, err)
7652  use dc_types, only: dp
7653  character(*), intent(in):: file
7654  character(*), intent(in):: varname
7655  character(*), intent(in), optional:: range
7656  logical, intent(in), optional:: quiet
7657  logical, intent(in), optional:: flag_mpi_split
7658  real(DP), intent(out), optional:: returned_time
7659  logical, intent(out), optional:: flag_time_exist
7660  logical, intent(out), optional:: err
7661  real(DP), pointer :: array(:,:,:,:)
7662  end subroutine historygetdouble4pointer
7663  end interface
7664  interface
7665  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7666  character(*), intent(in):: file
7667  character(*), intent(in):: varname
7668  character(*), intent(out):: url
7669  character(*), intent(in), optional:: range
7670  logical, intent(out), optional:: flag_time_exist
7671  character(*), intent(out), optional:: time_name
7672  logical, intent(out), optional:: err
7673  end subroutine lookup_growable_url
7674  end interface
7675  interface
7676  function file_rename_mpi( file ) result(result)
7677  use dc_types, only: string
7678  character(*), intent(in):: file
7679  character(STRING):: result
7680  end function file_rename_mpi
7681  end interface
7682  continue
7683  file_work = file
7684  if ( present_and_true( flag_mpi_split ) ) &
7685  & file_work = file_rename_mpi( file_work )
7686  call lookup_growable_url(file = file_work, varname = varname, &
7687  & url = url, &
7688  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7689  call url_chop_iorange( &
7690  & fullname = url, iorange = iorange, remainder = remainder )
7691  call split( str = iorange, carray = carray, sep = gt_equal )
7692  timevar_name = carray(1)
7693  deallocate( carray )
7694  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7695  call historygetdouble4pointer( file = file, &
7696  & varname = varname, array = array, &
7697  & range = time_range, quiet = quiet, &
7698  & flag_mpi_split = flag_mpi_split, &
7699  & returned_time = returned_time, &
7700  & flag_time_exist = flag_time_exist, &
7701  & err = err )
subroutine historygetdouble4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble4timed()

subroutine historygetdouble4timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10670 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10670  use dc_string, only: tochar, split
10671  use dc_types, only: string, dp
10672  use dc_trace, only: dbgmessage
10673  use dc_url, only: url_chop_iorange, gt_equal
10674  use dc_present, only: present_and_true
10675  implicit none
10676  character(*), intent(in):: file, varname
10677  real(DP), intent(in):: time
10678  logical, intent(in), optional:: quiet
10679  real(DP), intent(out) :: array(:,:,:,:)
10680  logical, intent(in), optional:: flag_mpi_split
10681  real(DP), intent(out), optional:: returned_time
10682  logical, intent(out), optional:: flag_time_exist
10683  logical, intent(out), optional:: err
10684  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10685  character(STRING), pointer:: carray (:)
10686  character(STRING):: tname
10687  character(*), parameter :: subname = "HistoryGetDouble4TimeD"
10688  interface
10689  subroutine historygetdouble4(&
10690  & file, varname, array, range, quiet, &
10691  & flag_mpi_split, returned_time, flag_time_exist, err)
10692  use dc_types, only: dp
10693  character(*), intent(in):: file
10694  character(*), intent(in):: varname
10695  character(*), intent(in), optional:: range
10696  logical, intent(in), optional:: quiet
10697  logical, intent(in), optional:: flag_mpi_split
10698  real(DP), intent(out), optional:: returned_time
10699  logical, intent(out), optional:: flag_time_exist
10700  logical, intent(out), optional:: err
10701  real(DP), intent(out) :: array(:,:,:,:)
10702  end subroutine historygetdouble4
10703  end interface
10704  interface
10705  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10706  character(*), intent(in):: file
10707  character(*), intent(in):: varname
10708  character(*), intent(out):: url
10709  character(*), intent(in), optional:: range
10710  logical, intent(out), optional:: flag_time_exist
10711  character(*), intent(out), optional:: time_name
10712  logical, intent(out), optional:: err
10713  end subroutine lookup_growable_url
10714  end interface
10715  interface
10716  function file_rename_mpi( file ) result(result)
10717  use dc_types, only: string
10718  character(*), intent(in):: file
10719  character(STRING):: result
10720  end function file_rename_mpi
10721  end interface
10722  continue
10723  file_work = file
10724  if ( present_and_true( flag_mpi_split ) ) &
10725  & file_work = file_rename_mpi( file_work )
10726  call lookup_growable_url(file = file_work, varname = varname, &
10727  & url = url, &
10728  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10729  call url_chop_iorange( &
10730  & fullname = url, iorange = iorange, remainder = remainder )
10731  call split( str = iorange, carray = carray, sep = gt_equal )
10732  timevar_name = carray(1)
10733  deallocate( carray )
10734  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10735  call historygetdouble4( file = file, &
10736  & varname = varname, array = array, &
10737  & range = time_range, quiet = quiet, &
10738  & flag_mpi_split = flag_mpi_split, &
10739  & returned_time = returned_time, &
10740  & flag_time_exist = flag_time_exist, &
10741  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:798
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble4timei()

subroutine historygetdouble4timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14318 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14318  use dc_string, only: tochar, split
14319  use dc_types, only: string, dp
14320  use dc_trace, only: dbgmessage
14321  use dc_url, only: url_chop_iorange, gt_equal
14322  use dc_present, only: present_and_true
14323  implicit none
14324  character(*), intent(in):: file, varname
14325  integer, intent(in):: time
14326  logical, intent(in), optional:: quiet
14327  real(DP), intent(out) :: array(:,:,:,:)
14328  logical, intent(in), optional:: flag_mpi_split
14329  real(DP), intent(out), optional:: returned_time
14330  logical, intent(out), optional:: flag_time_exist
14331  logical, intent(out), optional:: err
14332  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14333  character(STRING), pointer:: carray (:)
14334  character(STRING):: tname
14335  character(*), parameter :: subname = "HistoryGetDouble4TimeI"
14336  interface
14337  subroutine historygetdouble4(&
14338  & file, varname, array, range, quiet, &
14339  & flag_mpi_split, returned_time, flag_time_exist, err)
14340  use dc_types, only: dp
14341  character(*), intent(in):: file
14342  character(*), intent(in):: varname
14343  character(*), intent(in), optional:: range
14344  logical, intent(in), optional:: quiet
14345  logical, intent(in), optional:: flag_mpi_split
14346  real(DP), intent(out), optional:: returned_time
14347  logical, intent(out), optional:: flag_time_exist
14348  logical, intent(out), optional:: err
14349  real(DP), intent(out) :: array(:,:,:,:)
14350  end subroutine historygetdouble4
14351  end interface
14352  interface
14353  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14354  character(*), intent(in):: file
14355  character(*), intent(in):: varname
14356  character(*), intent(out):: url
14357  character(*), intent(in), optional:: range
14358  logical, intent(out), optional:: flag_time_exist
14359  character(*), intent(out), optional:: time_name
14360  logical, intent(out), optional:: err
14361  end subroutine lookup_growable_url
14362  end interface
14363  interface
14364  function file_rename_mpi( file ) result(result)
14365  use dc_types, only: string
14366  character(*), intent(in):: file
14367  character(STRING):: result
14368  end function file_rename_mpi
14369  end interface
14370  continue
14371  file_work = file
14372  if ( present_and_true( flag_mpi_split ) ) &
14373  & file_work = file_rename_mpi( file_work )
14374  call lookup_growable_url(file = file_work, varname = varname, &
14375  & url = url, &
14376  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14377  call url_chop_iorange( &
14378  & fullname = url, iorange = iorange, remainder = remainder )
14379  call split( str = iorange, carray = carray, sep = gt_equal )
14380  timevar_name = carray(1)
14381  deallocate( carray )
14382  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14383  call historygetdouble4( file = file, &
14384  & varname = varname, array = array, &
14385  & range = time_range, quiet = quiet, &
14386  & flag_mpi_split = flag_mpi_split, &
14387  & returned_time = returned_time, &
14388  & flag_time_exist = flag_time_exist, &
14389  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:798
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble4timer()

subroutine historygetdouble4timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7022 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7022  use dc_string, only: tochar, split
7023  use dc_types, only: string, dp, sp
7024  use dc_trace, only: dbgmessage
7025  use dc_url, only: url_chop_iorange, gt_equal
7026  use dc_present, only: present_and_true
7027  implicit none
7028  character(*), intent(in):: file, varname
7029  real(SP), intent(in):: time
7030  logical, intent(in), optional:: quiet
7031  real(DP), intent(out) :: array(:,:,:,:)
7032  logical, intent(in), optional:: flag_mpi_split
7033  real(DP), intent(out), optional:: returned_time
7034  logical, intent(out), optional:: flag_time_exist
7035  logical, intent(out), optional:: err
7036  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7037  character(STRING), pointer:: carray (:)
7038  character(STRING):: tname
7039  character(*), parameter :: subname = "HistoryGetDouble4TimeR"
7040  interface
7041  subroutine historygetdouble4(&
7042  & file, varname, array, range, quiet, &
7043  & flag_mpi_split, returned_time, flag_time_exist, err)
7044  use dc_types, only: dp
7045  character(*), intent(in):: file
7046  character(*), intent(in):: varname
7047  character(*), intent(in), optional:: range
7048  logical, intent(in), optional:: quiet
7049  logical, intent(in), optional:: flag_mpi_split
7050  real(DP), intent(out), optional:: returned_time
7051  logical, intent(out), optional:: flag_time_exist
7052  logical, intent(out), optional:: err
7053  real(DP), intent(out) :: array(:,:,:,:)
7054  end subroutine historygetdouble4
7055  end interface
7056  interface
7057  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7058  character(*), intent(in):: file
7059  character(*), intent(in):: varname
7060  character(*), intent(out):: url
7061  character(*), intent(in), optional:: range
7062  logical, intent(out), optional:: flag_time_exist
7063  character(*), intent(out), optional:: time_name
7064  logical, intent(out), optional:: err
7065  end subroutine lookup_growable_url
7066  end interface
7067  interface
7068  function file_rename_mpi( file ) result(result)
7069  use dc_types, only: string
7070  character(*), intent(in):: file
7071  character(STRING):: result
7072  end function file_rename_mpi
7073  end interface
7074  continue
7075  file_work = file
7076  if ( present_and_true( flag_mpi_split ) ) &
7077  & file_work = file_rename_mpi( file_work )
7078  call lookup_growable_url(file = file_work, varname = varname, &
7079  & url = url, &
7080  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7081  call url_chop_iorange( &
7082  & fullname = url, iorange = iorange, remainder = remainder )
7083  call split( str = iorange, carray = carray, sep = gt_equal )
7084  timevar_name = carray(1)
7085  deallocate( carray )
7086  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7087  call historygetdouble4( file = file, &
7088  & varname = varname, array = array, &
7089  & range = time_range, quiet = quiet, &
7090  & flag_mpi_split = flag_mpi_split, &
7091  & returned_time = returned_time, &
7092  & flag_time_exist = flag_time_exist, &
7093  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
Definition: historyget.f90:798
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble5()

subroutine historygetdouble5 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 1003 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble5timed(), historygetdouble5timei(), and historygetdouble5timer().

1003  use gtdata_types, only: gt_variable
1004  use gtdata_generic, only: open, inquire, close, get
1005  use dc_string, only: tochar, split, joinchar, stoa
1008  use dc_regex, only: match
1009  use dc_types, only: string, dp
1010  use dc_message, only: messagenotify
1011  use dc_trace, only: dbgmessage
1014  implicit none
1015  character(*), intent(in):: file
1016  character(*), intent(in):: varname
1017  character(*), intent(in), optional:: range
1018  logical, intent(in), optional:: quiet
1019  logical, intent(in), optional:: flag_mpi_split
1020  real(DP), intent(out), optional:: returned_time ! データの時刻
1021  logical, intent(out), optional:: flag_time_exist
1022  logical, intent(out), optional:: err
1023  real(DP), intent(out) :: array(:,:,:,:,:)
1024  real(DP), allocatable :: array_tmp(:)
1025  integer:: array_allsize
1026  integer:: array_shape(5), data_shape(5), array_shape_check(5)
1027  integer:: allcount
1028  integer:: i, sd
1029  logical:: inq_err
1030  type(gt_variable):: var
1031  character(STRING):: file_work, url, actual_url
1032  integer:: rank, alldims, array_rank
1033  integer:: domain
1034  character(STRING):: tname
1035  integer:: stat
1036  character(STRING):: cause_c
1037  character(*), parameter :: subname = "HistoryGetDouble5"
1038  interface
1039  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
1040  character(*), intent(in):: file
1041  character(*), intent(in):: varname
1042  character(*), intent(out):: url
1043  character(*), intent(in), optional:: range
1044  logical, intent(out), optional:: flag_time_exist
1045  character(*), intent(out), optional:: time_name
1046  logical, intent(out), optional:: err
1047  end subroutine lookup_growable_url
1048  end interface
1049  interface
1050  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
1051  use dc_types, only: dp
1052  character(*), intent(in) :: url ! 変数 URL
1053  character(*), intent(out), optional :: actual_url
1054  ! 正確な入出力範囲指定
1055  real(DP), intent(out), optional:: returned_time ! データの時刻
1056  character(*), intent(in), optional:: time_name ! 時刻次元の名称
1057  logical, intent(out), optional :: err ! エラーのフラグ
1058  end subroutine actual_iorange_dump
1059  end interface
1060  interface
1061  function file_rename_mpi( file ) result(result)
1062  use dc_types, only: string
1063  character(*), intent(in):: file
1064  character(STRING):: result
1065  end function file_rename_mpi
1066  end interface
1067  continue
1068  cause_c = ''
1069  stat = dc_noerr
1070  file_work = file
1071  array_shape = shape( array )
1072  array_allsize = size( array )
1073  ! ファイル名の変更 (MPI 用)
1074  ! Change filename (for MPI)
1075  !
1076  if ( present_and_true( flag_mpi_split ) ) &
1077  & file_work = file_rename_mpi( file_work )
1078  ! 最新時刻の URL 取得
1079  ! Get URL of latest time
1080  !
1081  call lookup_growable_url(file_work, varname, url, range, &
1082  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
1083  if ( present_and_true(err) ) then
1084  stat = gt_enoturl
1085  cause_c = url
1086  goto 999
1087  end if
1088  ! ファイルオープン
1089  ! File open
1090  call open( var, url, err = err )
1091  if ( present_and_true(err) ) then
1092  stat = gt_enoturl
1093  cause_c = url
1094  goto 999
1095  end if
1096  !-------------------------------------------------------------------
1097  ! 配列形状のチェック
1098  ! Check array shape
1099  !-------------------------------------------------------------------
1100  ! 入力ファイル中のデータの次元数
1101  ! Get size of dimesions in data of an input file
1102  !
1103  call inquire( var = var, & ! (in)
1104  & rank = rank, alldims = alldims ) ! (out)
1105  ! 引数の次元数のチェック (縮退されている場合には減らす)
1106  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
1107  array_rank = 5
1108  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
1109  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
1110  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
1111  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
1112  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
1113  ! 次元数の比較
1114  ! Compare sizes of dimensions
1115  !
1116  if ( .not. 5 == rank .and. .not. array_rank == rank ) then
1117  if ( .not. present_and_true(quiet) ) then
1118  call messagenotify('W', subname, &
1119  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
1120  & i = (/rank, 5/), c1 = trim(url) )
1121  end if
1122  stat = gt_erankmismatch
1123  cause_c = 'array'
1124  goto 999
1125  end if
1126  ! 入力ファイル中のデータの配列形状取得
1127  ! Get shape of data in an input file
1128  call inquire( var = var , dimord = 1, & ! (in)
1129  & allcount = allcount, err = inq_err ) ! (out)
1130  if ( .not. inq_err ) then
1131  data_shape(1) = allcount
1132  else
1133  data_shape(1) = 1
1134  end if
1135  call inquire( var = var , dimord = 2, & ! (in)
1136  & allcount = allcount, err = inq_err ) ! (out)
1137  if ( .not. inq_err ) then
1138  data_shape(2) = allcount
1139  else
1140  data_shape(2) = 1
1141  end if
1142  call inquire( var = var , dimord = 3, & ! (in)
1143  & allcount = allcount, err = inq_err ) ! (out)
1144  if ( .not. inq_err ) then
1145  data_shape(3) = allcount
1146  else
1147  data_shape(3) = 1
1148  end if
1149  call inquire( var = var , dimord = 4, & ! (in)
1150  & allcount = allcount, err = inq_err ) ! (out)
1151  if ( .not. inq_err ) then
1152  data_shape(4) = allcount
1153  else
1154  data_shape(4) = 1
1155  end if
1156  call inquire( var = var , dimord = 5, & ! (in)
1157  & allcount = allcount, err = inq_err ) ! (out)
1158  if ( .not. inq_err ) then
1159  data_shape(5) = allcount
1160  else
1161  data_shape(5) = 1
1162  end if
1163  ! 引数の配列形状整形
1164  ! Arrange shape of an argument
1165  !
1166  array_shape_check = array_shape
1167  sd = 1
1168  do i = 1, 5 - 1
1169  if ( array_shape_check(sd) == 1 ) then
1170  array_shape_check(sd:5) = cshift( array_shape_check(sd:5), 1, 1 )
1171  else
1172  sd = sd + 1
1173  end if
1174  end do
1175  ! 配列形状の比較
1176  ! Compare shapes
1177  !
1178  if ( .not. all( array_shape_check == data_shape ) ) then
1179  if ( .not. present_and_true(quiet) ) then
1180  call messagenotify('W', subname, &
1181  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
1182  & c1 = trim( url ), &
1183  & c2 = trim( tochar( data_shape(1:rank) ) ), &
1184  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
1185  end if
1186  stat = gt_eargsizemismatch
1187  cause_c = 'array'
1188  goto 999
1189  end if
1190  !-------------------------------------
1191  ! データ取得
1192  ! Get data
1193  call inquire( var = var, & ! (in)
1194  & size = domain ) ! (out)
1195  if ( allocated( array_tmp ) ) deallocate( array_tmp )
1196  allocate( array_tmp(array_allsize) )
1197  call get( var, array_tmp, domain )
1198  array = reshape( array_tmp, array_shape )
1199  deallocate( array_tmp )
1200  call close( var )
1201  !-------------------------------------
1202  ! データファイル名と切り出し範囲の印字
1203  ! Print data filename and clipping range
1204  call actual_iorange_dump(url, & ! (in)
1205  & actual_url, returned_time, & ! (out) optional
1206  & time_name = tname, & ! (in) optional
1207  & err = err) ! (out) optional
1208  if ( .not. present_and_true(quiet) ) then
1209  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
1210  end if
1211 999 continue
1212  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble5pointer()

subroutine historygetdouble5pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5210 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetdouble5pointertimed(), historygetdouble5pointertimei(), and historygetdouble5pointertimer().

5210  use gtdata_types, only: gt_variable
5211  use gtdata_generic, only: open, inquire, close, get
5212  use dc_string, only: tochar
5214  use dc_types, only: string, dp
5215  use dc_message, only: messagenotify
5216  use dc_trace, only: dbgmessage
5217  implicit none
5218  character(*), intent(in):: file
5219  character(*), intent(in):: varname
5220  character(*), intent(in), optional:: range
5221  logical, intent(in), optional:: quiet
5222  logical, intent(in), optional:: flag_mpi_split
5223  real(DP), intent(out), optional:: returned_time ! データの時刻
5224  logical, intent(out), optional:: flag_time_exist
5225  logical, intent(out), optional:: err
5226  integer:: domain
5227  real(DP), pointer :: array(:,:,:,:,:) ! (out)
5228  real(DP), target :: array_tmp(1)
5229  type(gt_variable):: var
5230  character(STRING):: file_work, url, actual_url
5231  character(STRING):: tname
5232  character(*), parameter :: subname = "HistoryGetDouble5Pointer"
5233  interface
5234  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5235  character(*), intent(in):: file
5236  character(*), intent(in):: varname
5237  character(*), intent(out):: url
5238  character(*), intent(in), optional:: range
5239  logical, intent(out), optional:: flag_time_exist
5240  character(*), intent(out), optional:: time_name
5241  logical, intent(out), optional:: err
5242  end subroutine lookup_growable_url
5243  end interface
5244  interface
5245  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5246  use dc_types, only: dp
5247  character(*), intent(in) :: url ! 変数 URL
5248  character(*), intent(out), optional :: actual_url
5249  ! 正確な入出力範囲指定
5250  real(DP), intent(out), optional:: returned_time ! データの時刻
5251  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5252  logical, intent(out), optional :: err ! エラーのフラグ
5253  end subroutine actual_iorange_dump
5254  end interface
5255  interface
5256  function file_rename_mpi( file ) result(result)
5257  use dc_types, only: string
5258  character(*), intent(in):: file
5259  character(STRING):: result
5260  end function file_rename_mpi
5261  end interface
5262  continue
5263  file_work = file
5264  ! ファイル名の変更 (MPI 用)
5265  ! Change filename (for MPI)
5266  !
5267  if ( present_and_true( flag_mpi_split ) ) &
5268  & file_work = file_rename_mpi( file_work )
5269  ! 必要な情報を gtool 変数化
5270  !
5271  call lookup_growable_url(file_work, varname, url, range, &
5272  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5273  call dbgmessage('@ url =%c', c1=trim(url))
5274  ! いよいよデータ取得
5275  !
5276  call open(var, url, err)
5277  call get(var, array, err)
5278  call close(var, err)
5279  call actual_iorange_dump(url, & ! (in)
5280  & actual_url, returned_time, & ! (out) optional
5281  & time_name = tname, & ! (in) optional
5282  & err = err) ! (out) optional
5283  if ( .not. present_and_true(quiet) ) then
5284  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5285  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble5pointertimed()

subroutine historygetdouble5pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11354 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

11354  use dc_string, only: tochar, split
11355  use dc_types, only: string, dp
11356  use dc_trace, only: dbgmessage
11357  use dc_url, only: url_chop_iorange, gt_equal
11358  use dc_present, only: present_and_true
11359  implicit none
11360  character(*), intent(in):: file, varname
11361  real(DP), intent(in):: time
11362  logical, intent(in), optional:: quiet
11363  real(DP), pointer :: array(:,:,:,:,:)
11364  logical, intent(in), optional:: flag_mpi_split
11365  real(DP), intent(out), optional:: returned_time
11366  logical, intent(out), optional:: flag_time_exist
11367  logical, intent(out), optional:: err
11368  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11369  character(STRING), pointer:: carray (:)
11370  character(STRING):: tname
11371  character(*), parameter :: subname = "HistoryGetDouble5TimeD"
11372  interface
11373  subroutine historygetdouble5pointer(&
11374  & file, varname, array, range, quiet, &
11375  & flag_mpi_split, returned_time, flag_time_exist, err)
11376  use dc_types, only: dp
11377  character(*), intent(in):: file
11378  character(*), intent(in):: varname
11379  character(*), intent(in), optional:: range
11380  logical, intent(in), optional:: quiet
11381  logical, intent(in), optional:: flag_mpi_split
11382  real(DP), intent(out), optional:: returned_time
11383  logical, intent(out), optional:: flag_time_exist
11384  logical, intent(out), optional:: err
11385  real(DP), pointer :: array(:,:,:,:,:)
11386  end subroutine historygetdouble5pointer
11387  end interface
11388  interface
11389  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11390  character(*), intent(in):: file
11391  character(*), intent(in):: varname
11392  character(*), intent(out):: url
11393  character(*), intent(in), optional:: range
11394  logical, intent(out), optional:: flag_time_exist
11395  character(*), intent(out), optional:: time_name
11396  logical, intent(out), optional:: err
11397  end subroutine lookup_growable_url
11398  end interface
11399  interface
11400  function file_rename_mpi( file ) result(result)
11401  use dc_types, only: string
11402  character(*), intent(in):: file
11403  character(STRING):: result
11404  end function file_rename_mpi
11405  end interface
11406  continue
11407  file_work = file
11408  if ( present_and_true( flag_mpi_split ) ) &
11409  & file_work = file_rename_mpi( file_work )
11410  call lookup_growable_url(file = file_work, varname = varname, &
11411  & url = url, &
11412  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11413  call url_chop_iorange( &
11414  & fullname = url, iorange = iorange, remainder = remainder )
11415  call split( str = iorange, carray = carray, sep = gt_equal )
11416  timevar_name = carray(1)
11417  deallocate( carray )
11418  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11419  call historygetdouble5pointer( file = file, &
11420  & varname = varname, array = array, &
11421  & range = time_range, quiet = quiet, &
11422  & flag_mpi_split = flag_mpi_split, &
11423  & returned_time = returned_time, &
11424  & flag_time_exist = flag_time_exist, &
11425  & err = err )
subroutine historygetdouble5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble5pointertimei()

subroutine historygetdouble5pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15002 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

15002  use dc_string, only: tochar, split
15003  use dc_types, only: string, dp
15004  use dc_trace, only: dbgmessage
15005  use dc_url, only: url_chop_iorange, gt_equal
15006  use dc_present, only: present_and_true
15007  implicit none
15008  character(*), intent(in):: file, varname
15009  integer, intent(in):: time
15010  logical, intent(in), optional:: quiet
15011  real(DP), pointer :: array(:,:,:,:,:)
15012  logical, intent(in), optional:: flag_mpi_split
15013  real(DP), intent(out), optional:: returned_time
15014  logical, intent(out), optional:: flag_time_exist
15015  logical, intent(out), optional:: err
15016  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15017  character(STRING), pointer:: carray (:)
15018  character(STRING):: tname
15019  character(*), parameter :: subname = "HistoryGetDouble5TimeI"
15020  interface
15021  subroutine historygetdouble5pointer(&
15022  & file, varname, array, range, quiet, &
15023  & flag_mpi_split, returned_time, flag_time_exist, err)
15024  use dc_types, only: dp
15025  character(*), intent(in):: file
15026  character(*), intent(in):: varname
15027  character(*), intent(in), optional:: range
15028  logical, intent(in), optional:: quiet
15029  logical, intent(in), optional:: flag_mpi_split
15030  real(DP), intent(out), optional:: returned_time
15031  logical, intent(out), optional:: flag_time_exist
15032  logical, intent(out), optional:: err
15033  real(DP), pointer :: array(:,:,:,:,:)
15034  end subroutine historygetdouble5pointer
15035  end interface
15036  interface
15037  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15038  character(*), intent(in):: file
15039  character(*), intent(in):: varname
15040  character(*), intent(out):: url
15041  character(*), intent(in), optional:: range
15042  logical, intent(out), optional:: flag_time_exist
15043  character(*), intent(out), optional:: time_name
15044  logical, intent(out), optional:: err
15045  end subroutine lookup_growable_url
15046  end interface
15047  interface
15048  function file_rename_mpi( file ) result(result)
15049  use dc_types, only: string
15050  character(*), intent(in):: file
15051  character(STRING):: result
15052  end function file_rename_mpi
15053  end interface
15054  continue
15055  file_work = file
15056  if ( present_and_true( flag_mpi_split ) ) &
15057  & file_work = file_rename_mpi( file_work )
15058  call lookup_growable_url(file = file_work, varname = varname, &
15059  & url = url, &
15060  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15061  call url_chop_iorange( &
15062  & fullname = url, iorange = iorange, remainder = remainder )
15063  call split( str = iorange, carray = carray, sep = gt_equal )
15064  timevar_name = carray(1)
15065  deallocate( carray )
15066  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15067  call historygetdouble5pointer( file = file, &
15068  & varname = varname, array = array, &
15069  & range = time_range, quiet = quiet, &
15070  & flag_mpi_split = flag_mpi_split, &
15071  & returned_time = returned_time, &
15072  & flag_time_exist = flag_time_exist, &
15073  & err = err )
subroutine historygetdouble5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble5pointertimer()

subroutine historygetdouble5pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7706 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7706  use dc_string, only: tochar, split
7707  use dc_types, only: string, dp, sp
7708  use dc_trace, only: dbgmessage
7709  use dc_url, only: url_chop_iorange, gt_equal
7710  use dc_present, only: present_and_true
7711  implicit none
7712  character(*), intent(in):: file, varname
7713  real(SP), intent(in):: time
7714  logical, intent(in), optional:: quiet
7715  real(DP), pointer :: array(:,:,:,:,:)
7716  logical, intent(in), optional:: flag_mpi_split
7717  real(DP), intent(out), optional:: returned_time
7718  logical, intent(out), optional:: flag_time_exist
7719  logical, intent(out), optional:: err
7720  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7721  character(STRING), pointer:: carray (:)
7722  character(STRING):: tname
7723  character(*), parameter :: subname = "HistoryGetDouble5TimeR"
7724  interface
7725  subroutine historygetdouble5pointer(&
7726  & file, varname, array, range, quiet, &
7727  & flag_mpi_split, returned_time, flag_time_exist, err)
7728  use dc_types, only: dp
7729  character(*), intent(in):: file
7730  character(*), intent(in):: varname
7731  character(*), intent(in), optional:: range
7732  logical, intent(in), optional:: quiet
7733  logical, intent(in), optional:: flag_mpi_split
7734  real(DP), intent(out), optional:: returned_time
7735  logical, intent(out), optional:: flag_time_exist
7736  logical, intent(out), optional:: err
7737  real(DP), pointer :: array(:,:,:,:,:)
7738  end subroutine historygetdouble5pointer
7739  end interface
7740  interface
7741  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7742  character(*), intent(in):: file
7743  character(*), intent(in):: varname
7744  character(*), intent(out):: url
7745  character(*), intent(in), optional:: range
7746  logical, intent(out), optional:: flag_time_exist
7747  character(*), intent(out), optional:: time_name
7748  logical, intent(out), optional:: err
7749  end subroutine lookup_growable_url
7750  end interface
7751  interface
7752  function file_rename_mpi( file ) result(result)
7753  use dc_types, only: string
7754  character(*), intent(in):: file
7755  character(STRING):: result
7756  end function file_rename_mpi
7757  end interface
7758  continue
7759  file_work = file
7760  if ( present_and_true( flag_mpi_split ) ) &
7761  & file_work = file_rename_mpi( file_work )
7762  call lookup_growable_url(file = file_work, varname = varname, &
7763  & url = url, &
7764  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7765  call url_chop_iorange( &
7766  & fullname = url, iorange = iorange, remainder = remainder )
7767  call split( str = iorange, carray = carray, sep = gt_equal )
7768  timevar_name = carray(1)
7769  deallocate( carray )
7770  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7771  call historygetdouble5pointer( file = file, &
7772  & varname = varname, array = array, &
7773  & range = time_range, quiet = quiet, &
7774  & flag_mpi_split = flag_mpi_split, &
7775  & returned_time = returned_time, &
7776  & flag_time_exist = flag_time_exist, &
7777  & err = err )
subroutine historygetdouble5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble5timed()

subroutine historygetdouble5timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10746 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10746  use dc_string, only: tochar, split
10747  use dc_types, only: string, dp
10748  use dc_trace, only: dbgmessage
10749  use dc_url, only: url_chop_iorange, gt_equal
10750  use dc_present, only: present_and_true
10751  implicit none
10752  character(*), intent(in):: file, varname
10753  real(DP), intent(in):: time
10754  logical, intent(in), optional:: quiet
10755  real(DP), intent(out) :: array(:,:,:,:,:)
10756  logical, intent(in), optional:: flag_mpi_split
10757  real(DP), intent(out), optional:: returned_time
10758  logical, intent(out), optional:: flag_time_exist
10759  logical, intent(out), optional:: err
10760  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10761  character(STRING), pointer:: carray (:)
10762  character(STRING):: tname
10763  character(*), parameter :: subname = "HistoryGetDouble5TimeD"
10764  interface
10765  subroutine historygetdouble5(&
10766  & file, varname, array, range, quiet, &
10767  & flag_mpi_split, returned_time, flag_time_exist, err)
10768  use dc_types, only: dp
10769  character(*), intent(in):: file
10770  character(*), intent(in):: varname
10771  character(*), intent(in), optional:: range
10772  logical, intent(in), optional:: quiet
10773  logical, intent(in), optional:: flag_mpi_split
10774  real(DP), intent(out), optional:: returned_time
10775  logical, intent(out), optional:: flag_time_exist
10776  logical, intent(out), optional:: err
10777  real(DP), intent(out) :: array(:,:,:,:,:)
10778  end subroutine historygetdouble5
10779  end interface
10780  interface
10781  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10782  character(*), intent(in):: file
10783  character(*), intent(in):: varname
10784  character(*), intent(out):: url
10785  character(*), intent(in), optional:: range
10786  logical, intent(out), optional:: flag_time_exist
10787  character(*), intent(out), optional:: time_name
10788  logical, intent(out), optional:: err
10789  end subroutine lookup_growable_url
10790  end interface
10791  interface
10792  function file_rename_mpi( file ) result(result)
10793  use dc_types, only: string
10794  character(*), intent(in):: file
10795  character(STRING):: result
10796  end function file_rename_mpi
10797  end interface
10798  continue
10799  file_work = file
10800  if ( present_and_true( flag_mpi_split ) ) &
10801  & file_work = file_rename_mpi( file_work )
10802  call lookup_growable_url(file = file_work, varname = varname, &
10803  & url = url, &
10804  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10805  call url_chop_iorange( &
10806  & fullname = url, iorange = iorange, remainder = remainder )
10807  call split( str = iorange, carray = carray, sep = gt_equal )
10808  timevar_name = carray(1)
10809  deallocate( carray )
10810  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10811  call historygetdouble5( file = file, &
10812  & varname = varname, array = array, &
10813  & range = time_range, quiet = quiet, &
10814  & flag_mpi_split = flag_mpi_split, &
10815  & returned_time = returned_time, &
10816  & flag_time_exist = flag_time_exist, &
10817  & err = err )
subroutine historygetdouble5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble5timei()

subroutine historygetdouble5timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14394 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14394  use dc_string, only: tochar, split
14395  use dc_types, only: string, dp
14396  use dc_trace, only: dbgmessage
14397  use dc_url, only: url_chop_iorange, gt_equal
14398  use dc_present, only: present_and_true
14399  implicit none
14400  character(*), intent(in):: file, varname
14401  integer, intent(in):: time
14402  logical, intent(in), optional:: quiet
14403  real(DP), intent(out) :: array(:,:,:,:,:)
14404  logical, intent(in), optional:: flag_mpi_split
14405  real(DP), intent(out), optional:: returned_time
14406  logical, intent(out), optional:: flag_time_exist
14407  logical, intent(out), optional:: err
14408  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14409  character(STRING), pointer:: carray (:)
14410  character(STRING):: tname
14411  character(*), parameter :: subname = "HistoryGetDouble5TimeI"
14412  interface
14413  subroutine historygetdouble5(&
14414  & file, varname, array, range, quiet, &
14415  & flag_mpi_split, returned_time, flag_time_exist, err)
14416  use dc_types, only: dp
14417  character(*), intent(in):: file
14418  character(*), intent(in):: varname
14419  character(*), intent(in), optional:: range
14420  logical, intent(in), optional:: quiet
14421  logical, intent(in), optional:: flag_mpi_split
14422  real(DP), intent(out), optional:: returned_time
14423  logical, intent(out), optional:: flag_time_exist
14424  logical, intent(out), optional:: err
14425  real(DP), intent(out) :: array(:,:,:,:,:)
14426  end subroutine historygetdouble5
14427  end interface
14428  interface
14429  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14430  character(*), intent(in):: file
14431  character(*), intent(in):: varname
14432  character(*), intent(out):: url
14433  character(*), intent(in), optional:: range
14434  logical, intent(out), optional:: flag_time_exist
14435  character(*), intent(out), optional:: time_name
14436  logical, intent(out), optional:: err
14437  end subroutine lookup_growable_url
14438  end interface
14439  interface
14440  function file_rename_mpi( file ) result(result)
14441  use dc_types, only: string
14442  character(*), intent(in):: file
14443  character(STRING):: result
14444  end function file_rename_mpi
14445  end interface
14446  continue
14447  file_work = file
14448  if ( present_and_true( flag_mpi_split ) ) &
14449  & file_work = file_rename_mpi( file_work )
14450  call lookup_growable_url(file = file_work, varname = varname, &
14451  & url = url, &
14452  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14453  call url_chop_iorange( &
14454  & fullname = url, iorange = iorange, remainder = remainder )
14455  call split( str = iorange, carray = carray, sep = gt_equal )
14456  timevar_name = carray(1)
14457  deallocate( carray )
14458  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14459  call historygetdouble5( file = file, &
14460  & varname = varname, array = array, &
14461  & range = time_range, quiet = quiet, &
14462  & flag_mpi_split = flag_mpi_split, &
14463  & returned_time = returned_time, &
14464  & flag_time_exist = flag_time_exist, &
14465  & err = err )
subroutine historygetdouble5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble5timer()

subroutine historygetdouble5timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7098 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7098  use dc_string, only: tochar, split
7099  use dc_types, only: string, dp, sp
7100  use dc_trace, only: dbgmessage
7101  use dc_url, only: url_chop_iorange, gt_equal
7102  use dc_present, only: present_and_true
7103  implicit none
7104  character(*), intent(in):: file, varname
7105  real(SP), intent(in):: time
7106  logical, intent(in), optional:: quiet
7107  real(DP), intent(out) :: array(:,:,:,:,:)
7108  logical, intent(in), optional:: flag_mpi_split
7109  real(DP), intent(out), optional:: returned_time
7110  logical, intent(out), optional:: flag_time_exist
7111  logical, intent(out), optional:: err
7112  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7113  character(STRING), pointer:: carray (:)
7114  character(STRING):: tname
7115  character(*), parameter :: subname = "HistoryGetDouble5TimeR"
7116  interface
7117  subroutine historygetdouble5(&
7118  & file, varname, array, range, quiet, &
7119  & flag_mpi_split, returned_time, flag_time_exist, err)
7120  use dc_types, only: dp
7121  character(*), intent(in):: file
7122  character(*), intent(in):: varname
7123  character(*), intent(in), optional:: range
7124  logical, intent(in), optional:: quiet
7125  logical, intent(in), optional:: flag_mpi_split
7126  real(DP), intent(out), optional:: returned_time
7127  logical, intent(out), optional:: flag_time_exist
7128  logical, intent(out), optional:: err
7129  real(DP), intent(out) :: array(:,:,:,:,:)
7130  end subroutine historygetdouble5
7131  end interface
7132  interface
7133  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7134  character(*), intent(in):: file
7135  character(*), intent(in):: varname
7136  character(*), intent(out):: url
7137  character(*), intent(in), optional:: range
7138  logical, intent(out), optional:: flag_time_exist
7139  character(*), intent(out), optional:: time_name
7140  logical, intent(out), optional:: err
7141  end subroutine lookup_growable_url
7142  end interface
7143  interface
7144  function file_rename_mpi( file ) result(result)
7145  use dc_types, only: string
7146  character(*), intent(in):: file
7147  character(STRING):: result
7148  end function file_rename_mpi
7149  end interface
7150  continue
7151  file_work = file
7152  if ( present_and_true( flag_mpi_split ) ) &
7153  & file_work = file_rename_mpi( file_work )
7154  call lookup_growable_url(file = file_work, varname = varname, &
7155  & url = url, &
7156  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7157  call url_chop_iorange( &
7158  & fullname = url, iorange = iorange, remainder = remainder )
7159  call split( str = iorange, carray = carray, sep = gt_equal )
7160  timevar_name = carray(1)
7161  deallocate( carray )
7162  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7163  call historygetdouble5( file = file, &
7164  & varname = varname, array = array, &
7165  & range = time_range, quiet = quiet, &
7166  & flag_mpi_split = flag_mpi_split, &
7167  & returned_time = returned_time, &
7168  & flag_time_exist = flag_time_exist, &
7169  & err = err )
subroutine historygetdouble5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble6()

subroutine historygetdouble6 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 1216 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble6timed(), historygetdouble6timei(), and historygetdouble6timer().

1216  use gtdata_types, only: gt_variable
1217  use gtdata_generic, only: open, inquire, close, get
1218  use dc_string, only: tochar, split, joinchar, stoa
1221  use dc_regex, only: match
1222  use dc_types, only: string, dp
1223  use dc_message, only: messagenotify
1224  use dc_trace, only: dbgmessage
1227  implicit none
1228  character(*), intent(in):: file
1229  character(*), intent(in):: varname
1230  character(*), intent(in), optional:: range
1231  logical, intent(in), optional:: quiet
1232  logical, intent(in), optional:: flag_mpi_split
1233  real(DP), intent(out), optional:: returned_time ! データの時刻
1234  logical, intent(out), optional:: flag_time_exist
1235  logical, intent(out), optional:: err
1236  real(DP), intent(out) :: array(:,:,:,:,:,:)
1237  real(DP), allocatable :: array_tmp(:)
1238  integer:: array_allsize
1239  integer:: array_shape(6), data_shape(6), array_shape_check(6)
1240  integer:: allcount
1241  integer:: i, sd
1242  logical:: inq_err
1243  type(gt_variable):: var
1244  character(STRING):: file_work, url, actual_url
1245  integer:: rank, alldims, array_rank
1246  integer:: domain
1247  character(STRING):: tname
1248  integer:: stat
1249  character(STRING):: cause_c
1250  character(*), parameter :: subname = "HistoryGetDouble6"
1251  interface
1252  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
1253  character(*), intent(in):: file
1254  character(*), intent(in):: varname
1255  character(*), intent(out):: url
1256  character(*), intent(in), optional:: range
1257  logical, intent(out), optional:: flag_time_exist
1258  character(*), intent(out), optional:: time_name
1259  logical, intent(out), optional:: err
1260  end subroutine lookup_growable_url
1261  end interface
1262  interface
1263  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
1264  use dc_types, only: dp
1265  character(*), intent(in) :: url ! 変数 URL
1266  character(*), intent(out), optional :: actual_url
1267  ! 正確な入出力範囲指定
1268  real(DP), intent(out), optional:: returned_time ! データの時刻
1269  character(*), intent(in), optional:: time_name ! 時刻次元の名称
1270  logical, intent(out), optional :: err ! エラーのフラグ
1271  end subroutine actual_iorange_dump
1272  end interface
1273  interface
1274  function file_rename_mpi( file ) result(result)
1275  use dc_types, only: string
1276  character(*), intent(in):: file
1277  character(STRING):: result
1278  end function file_rename_mpi
1279  end interface
1280  continue
1281  cause_c = ''
1282  stat = dc_noerr
1283  file_work = file
1284  array_shape = shape( array )
1285  array_allsize = size( array )
1286  ! ファイル名の変更 (MPI 用)
1287  ! Change filename (for MPI)
1288  !
1289  if ( present_and_true( flag_mpi_split ) ) &
1290  & file_work = file_rename_mpi( file_work )
1291  ! 最新時刻の URL 取得
1292  ! Get URL of latest time
1293  !
1294  call lookup_growable_url(file_work, varname, url, range, &
1295  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
1296  if ( present_and_true(err) ) then
1297  stat = gt_enoturl
1298  cause_c = url
1299  goto 999
1300  end if
1301  ! ファイルオープン
1302  ! File open
1303  call open( var, url, err = err )
1304  if ( present_and_true(err) ) then
1305  stat = gt_enoturl
1306  cause_c = url
1307  goto 999
1308  end if
1309  !-------------------------------------------------------------------
1310  ! 配列形状のチェック
1311  ! Check array shape
1312  !-------------------------------------------------------------------
1313  ! 入力ファイル中のデータの次元数
1314  ! Get size of dimesions in data of an input file
1315  !
1316  call inquire( var = var, & ! (in)
1317  & rank = rank, alldims = alldims ) ! (out)
1318  ! 引数の次元数のチェック (縮退されている場合には減らす)
1319  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
1320  array_rank = 6
1321  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
1322  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
1323  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
1324  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
1325  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
1326  if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
1327  ! 次元数の比較
1328  ! Compare sizes of dimensions
1329  !
1330  if ( .not. 6 == rank .and. .not. array_rank == rank ) then
1331  if ( .not. present_and_true(quiet) ) then
1332  call messagenotify('W', subname, &
1333  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
1334  & i = (/rank, 6/), c1 = trim(url) )
1335  end if
1336  stat = gt_erankmismatch
1337  cause_c = 'array'
1338  goto 999
1339  end if
1340  ! 入力ファイル中のデータの配列形状取得
1341  ! Get shape of data in an input file
1342  call inquire( var = var , dimord = 1, & ! (in)
1343  & allcount = allcount, err = inq_err ) ! (out)
1344  if ( .not. inq_err ) then
1345  data_shape(1) = allcount
1346  else
1347  data_shape(1) = 1
1348  end if
1349  call inquire( var = var , dimord = 2, & ! (in)
1350  & allcount = allcount, err = inq_err ) ! (out)
1351  if ( .not. inq_err ) then
1352  data_shape(2) = allcount
1353  else
1354  data_shape(2) = 1
1355  end if
1356  call inquire( var = var , dimord = 3, & ! (in)
1357  & allcount = allcount, err = inq_err ) ! (out)
1358  if ( .not. inq_err ) then
1359  data_shape(3) = allcount
1360  else
1361  data_shape(3) = 1
1362  end if
1363  call inquire( var = var , dimord = 4, & ! (in)
1364  & allcount = allcount, err = inq_err ) ! (out)
1365  if ( .not. inq_err ) then
1366  data_shape(4) = allcount
1367  else
1368  data_shape(4) = 1
1369  end if
1370  call inquire( var = var , dimord = 5, & ! (in)
1371  & allcount = allcount, err = inq_err ) ! (out)
1372  if ( .not. inq_err ) then
1373  data_shape(5) = allcount
1374  else
1375  data_shape(5) = 1
1376  end if
1377  call inquire( var = var , dimord = 6, & ! (in)
1378  & allcount = allcount, err = inq_err ) ! (out)
1379  if ( .not. inq_err ) then
1380  data_shape(6) = allcount
1381  else
1382  data_shape(6) = 1
1383  end if
1384  ! 引数の配列形状整形
1385  ! Arrange shape of an argument
1386  !
1387  array_shape_check = array_shape
1388  sd = 1
1389  do i = 1, 6 - 1
1390  if ( array_shape_check(sd) == 1 ) then
1391  array_shape_check(sd:6) = cshift( array_shape_check(sd:6), 1, 1 )
1392  else
1393  sd = sd + 1
1394  end if
1395  end do
1396  ! 配列形状の比較
1397  ! Compare shapes
1398  !
1399  if ( .not. all( array_shape_check == data_shape ) ) then
1400  if ( .not. present_and_true(quiet) ) then
1401  call messagenotify('W', subname, &
1402  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
1403  & c1 = trim( url ), &
1404  & c2 = trim( tochar( data_shape(1:rank) ) ), &
1405  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
1406  end if
1407  stat = gt_eargsizemismatch
1408  cause_c = 'array'
1409  goto 999
1410  end if
1411  !-------------------------------------
1412  ! データ取得
1413  ! Get data
1414  call inquire( var = var, & ! (in)
1415  & size = domain ) ! (out)
1416  if ( allocated( array_tmp ) ) deallocate( array_tmp )
1417  allocate( array_tmp(array_allsize) )
1418  call get( var, array_tmp, domain )
1419  array = reshape( array_tmp, array_shape )
1420  deallocate( array_tmp )
1421  call close( var )
1422  !-------------------------------------
1423  ! データファイル名と切り出し範囲の印字
1424  ! Print data filename and clipping range
1425  call actual_iorange_dump(url, & ! (in)
1426  & actual_url, returned_time, & ! (out) optional
1427  & time_name = tname, & ! (in) optional
1428  & err = err) ! (out) optional
1429  if ( .not. present_and_true(quiet) ) then
1430  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
1431  end if
1432 999 continue
1433  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble6pointer()

subroutine historygetdouble6pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5289 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetdouble6pointertimed(), historygetdouble6pointertimei(), and historygetdouble6pointertimer().

5289  use gtdata_types, only: gt_variable
5290  use gtdata_generic, only: open, inquire, close, get
5291  use dc_string, only: tochar
5293  use dc_types, only: string, dp
5294  use dc_message, only: messagenotify
5295  use dc_trace, only: dbgmessage
5296  implicit none
5297  character(*), intent(in):: file
5298  character(*), intent(in):: varname
5299  character(*), intent(in), optional:: range
5300  logical, intent(in), optional:: quiet
5301  logical, intent(in), optional:: flag_mpi_split
5302  real(DP), intent(out), optional:: returned_time ! データの時刻
5303  logical, intent(out), optional:: flag_time_exist
5304  logical, intent(out), optional:: err
5305  integer:: domain
5306  real(DP), pointer :: array(:,:,:,:,:,:) ! (out)
5307  real(DP), target :: array_tmp(1)
5308  type(gt_variable):: var
5309  character(STRING):: file_work, url, actual_url
5310  character(STRING):: tname
5311  character(*), parameter :: subname = "HistoryGetDouble6Pointer"
5312  interface
5313  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5314  character(*), intent(in):: file
5315  character(*), intent(in):: varname
5316  character(*), intent(out):: url
5317  character(*), intent(in), optional:: range
5318  logical, intent(out), optional:: flag_time_exist
5319  character(*), intent(out), optional:: time_name
5320  logical, intent(out), optional:: err
5321  end subroutine lookup_growable_url
5322  end interface
5323  interface
5324  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5325  use dc_types, only: dp
5326  character(*), intent(in) :: url ! 変数 URL
5327  character(*), intent(out), optional :: actual_url
5328  ! 正確な入出力範囲指定
5329  real(DP), intent(out), optional:: returned_time ! データの時刻
5330  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5331  logical, intent(out), optional :: err ! エラーのフラグ
5332  end subroutine actual_iorange_dump
5333  end interface
5334  interface
5335  function file_rename_mpi( file ) result(result)
5336  use dc_types, only: string
5337  character(*), intent(in):: file
5338  character(STRING):: result
5339  end function file_rename_mpi
5340  end interface
5341  continue
5342  file_work = file
5343  ! ファイル名の変更 (MPI 用)
5344  ! Change filename (for MPI)
5345  !
5346  if ( present_and_true( flag_mpi_split ) ) &
5347  & file_work = file_rename_mpi( file_work )
5348  ! 必要な情報を gtool 変数化
5349  !
5350  call lookup_growable_url(file_work, varname, url, range, &
5351  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5352  call dbgmessage('@ url =%c', c1=trim(url))
5353  ! いよいよデータ取得
5354  !
5355  call open(var, url, err)
5356  call get(var, array, err)
5357  call close(var, err)
5358  call actual_iorange_dump(url, & ! (in)
5359  & actual_url, returned_time, & ! (out) optional
5360  & time_name = tname, & ! (in) optional
5361  & err = err) ! (out) optional
5362  if ( .not. present_and_true(quiet) ) then
5363  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5364  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble6pointertimed()

subroutine historygetdouble6pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11430 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

11430  use dc_string, only: tochar, split
11431  use dc_types, only: string, dp
11432  use dc_trace, only: dbgmessage
11433  use dc_url, only: url_chop_iorange, gt_equal
11434  use dc_present, only: present_and_true
11435  implicit none
11436  character(*), intent(in):: file, varname
11437  real(DP), intent(in):: time
11438  logical, intent(in), optional:: quiet
11439  real(DP), pointer :: array(:,:,:,:,:,:)
11440  logical, intent(in), optional:: flag_mpi_split
11441  real(DP), intent(out), optional:: returned_time
11442  logical, intent(out), optional:: flag_time_exist
11443  logical, intent(out), optional:: err
11444  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11445  character(STRING), pointer:: carray (:)
11446  character(STRING):: tname
11447  character(*), parameter :: subname = "HistoryGetDouble6TimeD"
11448  interface
11449  subroutine historygetdouble6pointer(&
11450  & file, varname, array, range, quiet, &
11451  & flag_mpi_split, returned_time, flag_time_exist, err)
11452  use dc_types, only: dp
11453  character(*), intent(in):: file
11454  character(*), intent(in):: varname
11455  character(*), intent(in), optional:: range
11456  logical, intent(in), optional:: quiet
11457  logical, intent(in), optional:: flag_mpi_split
11458  real(DP), intent(out), optional:: returned_time
11459  logical, intent(out), optional:: flag_time_exist
11460  logical, intent(out), optional:: err
11461  real(DP), pointer :: array(:,:,:,:,:,:)
11462  end subroutine historygetdouble6pointer
11463  end interface
11464  interface
11465  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11466  character(*), intent(in):: file
11467  character(*), intent(in):: varname
11468  character(*), intent(out):: url
11469  character(*), intent(in), optional:: range
11470  logical, intent(out), optional:: flag_time_exist
11471  character(*), intent(out), optional:: time_name
11472  logical, intent(out), optional:: err
11473  end subroutine lookup_growable_url
11474  end interface
11475  interface
11476  function file_rename_mpi( file ) result(result)
11477  use dc_types, only: string
11478  character(*), intent(in):: file
11479  character(STRING):: result
11480  end function file_rename_mpi
11481  end interface
11482  continue
11483  file_work = file
11484  if ( present_and_true( flag_mpi_split ) ) &
11485  & file_work = file_rename_mpi( file_work )
11486  call lookup_growable_url(file = file_work, varname = varname, &
11487  & url = url, &
11488  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11489  call url_chop_iorange( &
11490  & fullname = url, iorange = iorange, remainder = remainder )
11491  call split( str = iorange, carray = carray, sep = gt_equal )
11492  timevar_name = carray(1)
11493  deallocate( carray )
11494  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11495  call historygetdouble6pointer( file = file, &
11496  & varname = varname, array = array, &
11497  & range = time_range, quiet = quiet, &
11498  & flag_mpi_split = flag_mpi_split, &
11499  & returned_time = returned_time, &
11500  & flag_time_exist = flag_time_exist, &
11501  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetdouble6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble6pointertimei()

subroutine historygetdouble6pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15078 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

15078  use dc_string, only: tochar, split
15079  use dc_types, only: string, dp
15080  use dc_trace, only: dbgmessage
15081  use dc_url, only: url_chop_iorange, gt_equal
15082  use dc_present, only: present_and_true
15083  implicit none
15084  character(*), intent(in):: file, varname
15085  integer, intent(in):: time
15086  logical, intent(in), optional:: quiet
15087  real(DP), pointer :: array(:,:,:,:,:,:)
15088  logical, intent(in), optional:: flag_mpi_split
15089  real(DP), intent(out), optional:: returned_time
15090  logical, intent(out), optional:: flag_time_exist
15091  logical, intent(out), optional:: err
15092  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15093  character(STRING), pointer:: carray (:)
15094  character(STRING):: tname
15095  character(*), parameter :: subname = "HistoryGetDouble6TimeI"
15096  interface
15097  subroutine historygetdouble6pointer(&
15098  & file, varname, array, range, quiet, &
15099  & flag_mpi_split, returned_time, flag_time_exist, err)
15100  use dc_types, only: dp
15101  character(*), intent(in):: file
15102  character(*), intent(in):: varname
15103  character(*), intent(in), optional:: range
15104  logical, intent(in), optional:: quiet
15105  logical, intent(in), optional:: flag_mpi_split
15106  real(DP), intent(out), optional:: returned_time
15107  logical, intent(out), optional:: flag_time_exist
15108  logical, intent(out), optional:: err
15109  real(DP), pointer :: array(:,:,:,:,:,:)
15110  end subroutine historygetdouble6pointer
15111  end interface
15112  interface
15113  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15114  character(*), intent(in):: file
15115  character(*), intent(in):: varname
15116  character(*), intent(out):: url
15117  character(*), intent(in), optional:: range
15118  logical, intent(out), optional:: flag_time_exist
15119  character(*), intent(out), optional:: time_name
15120  logical, intent(out), optional:: err
15121  end subroutine lookup_growable_url
15122  end interface
15123  interface
15124  function file_rename_mpi( file ) result(result)
15125  use dc_types, only: string
15126  character(*), intent(in):: file
15127  character(STRING):: result
15128  end function file_rename_mpi
15129  end interface
15130  continue
15131  file_work = file
15132  if ( present_and_true( flag_mpi_split ) ) &
15133  & file_work = file_rename_mpi( file_work )
15134  call lookup_growable_url(file = file_work, varname = varname, &
15135  & url = url, &
15136  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15137  call url_chop_iorange( &
15138  & fullname = url, iorange = iorange, remainder = remainder )
15139  call split( str = iorange, carray = carray, sep = gt_equal )
15140  timevar_name = carray(1)
15141  deallocate( carray )
15142  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15143  call historygetdouble6pointer( file = file, &
15144  & varname = varname, array = array, &
15145  & range = time_range, quiet = quiet, &
15146  & flag_mpi_split = flag_mpi_split, &
15147  & returned_time = returned_time, &
15148  & flag_time_exist = flag_time_exist, &
15149  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetdouble6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble6pointertimer()

subroutine historygetdouble6pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7782 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7782  use dc_string, only: tochar, split
7783  use dc_types, only: string, dp, sp
7784  use dc_trace, only: dbgmessage
7785  use dc_url, only: url_chop_iorange, gt_equal
7786  use dc_present, only: present_and_true
7787  implicit none
7788  character(*), intent(in):: file, varname
7789  real(SP), intent(in):: time
7790  logical, intent(in), optional:: quiet
7791  real(DP), pointer :: array(:,:,:,:,:,:)
7792  logical, intent(in), optional:: flag_mpi_split
7793  real(DP), intent(out), optional:: returned_time
7794  logical, intent(out), optional:: flag_time_exist
7795  logical, intent(out), optional:: err
7796  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7797  character(STRING), pointer:: carray (:)
7798  character(STRING):: tname
7799  character(*), parameter :: subname = "HistoryGetDouble6TimeR"
7800  interface
7801  subroutine historygetdouble6pointer(&
7802  & file, varname, array, range, quiet, &
7803  & flag_mpi_split, returned_time, flag_time_exist, err)
7804  use dc_types, only: dp
7805  character(*), intent(in):: file
7806  character(*), intent(in):: varname
7807  character(*), intent(in), optional:: range
7808  logical, intent(in), optional:: quiet
7809  logical, intent(in), optional:: flag_mpi_split
7810  real(DP), intent(out), optional:: returned_time
7811  logical, intent(out), optional:: flag_time_exist
7812  logical, intent(out), optional:: err
7813  real(DP), pointer :: array(:,:,:,:,:,:)
7814  end subroutine historygetdouble6pointer
7815  end interface
7816  interface
7817  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7818  character(*), intent(in):: file
7819  character(*), intent(in):: varname
7820  character(*), intent(out):: url
7821  character(*), intent(in), optional:: range
7822  logical, intent(out), optional:: flag_time_exist
7823  character(*), intent(out), optional:: time_name
7824  logical, intent(out), optional:: err
7825  end subroutine lookup_growable_url
7826  end interface
7827  interface
7828  function file_rename_mpi( file ) result(result)
7829  use dc_types, only: string
7830  character(*), intent(in):: file
7831  character(STRING):: result
7832  end function file_rename_mpi
7833  end interface
7834  continue
7835  file_work = file
7836  if ( present_and_true( flag_mpi_split ) ) &
7837  & file_work = file_rename_mpi( file_work )
7838  call lookup_growable_url(file = file_work, varname = varname, &
7839  & url = url, &
7840  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7841  call url_chop_iorange( &
7842  & fullname = url, iorange = iorange, remainder = remainder )
7843  call split( str = iorange, carray = carray, sep = gt_equal )
7844  timevar_name = carray(1)
7845  deallocate( carray )
7846  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7847  call historygetdouble6pointer( file = file, &
7848  & varname = varname, array = array, &
7849  & range = time_range, quiet = quiet, &
7850  & flag_mpi_split = flag_mpi_split, &
7851  & returned_time = returned_time, &
7852  & flag_time_exist = flag_time_exist, &
7853  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetdouble6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble6timed()

subroutine historygetdouble6timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10822 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10822  use dc_string, only: tochar, split
10823  use dc_types, only: string, dp
10824  use dc_trace, only: dbgmessage
10825  use dc_url, only: url_chop_iorange, gt_equal
10826  use dc_present, only: present_and_true
10827  implicit none
10828  character(*), intent(in):: file, varname
10829  real(DP), intent(in):: time
10830  logical, intent(in), optional:: quiet
10831  real(DP), intent(out) :: array(:,:,:,:,:,:)
10832  logical, intent(in), optional:: flag_mpi_split
10833  real(DP), intent(out), optional:: returned_time
10834  logical, intent(out), optional:: flag_time_exist
10835  logical, intent(out), optional:: err
10836  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10837  character(STRING), pointer:: carray (:)
10838  character(STRING):: tname
10839  character(*), parameter :: subname = "HistoryGetDouble6TimeD"
10840  interface
10841  subroutine historygetdouble6(&
10842  & file, varname, array, range, quiet, &
10843  & flag_mpi_split, returned_time, flag_time_exist, err)
10844  use dc_types, only: dp
10845  character(*), intent(in):: file
10846  character(*), intent(in):: varname
10847  character(*), intent(in), optional:: range
10848  logical, intent(in), optional:: quiet
10849  logical, intent(in), optional:: flag_mpi_split
10850  real(DP), intent(out), optional:: returned_time
10851  logical, intent(out), optional:: flag_time_exist
10852  logical, intent(out), optional:: err
10853  real(DP), intent(out) :: array(:,:,:,:,:,:)
10854  end subroutine historygetdouble6
10855  end interface
10856  interface
10857  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10858  character(*), intent(in):: file
10859  character(*), intent(in):: varname
10860  character(*), intent(out):: url
10861  character(*), intent(in), optional:: range
10862  logical, intent(out), optional:: flag_time_exist
10863  character(*), intent(out), optional:: time_name
10864  logical, intent(out), optional:: err
10865  end subroutine lookup_growable_url
10866  end interface
10867  interface
10868  function file_rename_mpi( file ) result(result)
10869  use dc_types, only: string
10870  character(*), intent(in):: file
10871  character(STRING):: result
10872  end function file_rename_mpi
10873  end interface
10874  continue
10875  file_work = file
10876  if ( present_and_true( flag_mpi_split ) ) &
10877  & file_work = file_rename_mpi( file_work )
10878  call lookup_growable_url(file = file_work, varname = varname, &
10879  & url = url, &
10880  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10881  call url_chop_iorange( &
10882  & fullname = url, iorange = iorange, remainder = remainder )
10883  call split( str = iorange, carray = carray, sep = gt_equal )
10884  timevar_name = carray(1)
10885  deallocate( carray )
10886  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10887  call historygetdouble6( file = file, &
10888  & varname = varname, array = array, &
10889  & range = time_range, quiet = quiet, &
10890  & flag_mpi_split = flag_mpi_split, &
10891  & returned_time = returned_time, &
10892  & flag_time_exist = flag_time_exist, &
10893  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble6timei()

subroutine historygetdouble6timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14470 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14470  use dc_string, only: tochar, split
14471  use dc_types, only: string, dp
14472  use dc_trace, only: dbgmessage
14473  use dc_url, only: url_chop_iorange, gt_equal
14474  use dc_present, only: present_and_true
14475  implicit none
14476  character(*), intent(in):: file, varname
14477  integer, intent(in):: time
14478  logical, intent(in), optional:: quiet
14479  real(DP), intent(out) :: array(:,:,:,:,:,:)
14480  logical, intent(in), optional:: flag_mpi_split
14481  real(DP), intent(out), optional:: returned_time
14482  logical, intent(out), optional:: flag_time_exist
14483  logical, intent(out), optional:: err
14484  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14485  character(STRING), pointer:: carray (:)
14486  character(STRING):: tname
14487  character(*), parameter :: subname = "HistoryGetDouble6TimeI"
14488  interface
14489  subroutine historygetdouble6(&
14490  & file, varname, array, range, quiet, &
14491  & flag_mpi_split, returned_time, flag_time_exist, err)
14492  use dc_types, only: dp
14493  character(*), intent(in):: file
14494  character(*), intent(in):: varname
14495  character(*), intent(in), optional:: range
14496  logical, intent(in), optional:: quiet
14497  logical, intent(in), optional:: flag_mpi_split
14498  real(DP), intent(out), optional:: returned_time
14499  logical, intent(out), optional:: flag_time_exist
14500  logical, intent(out), optional:: err
14501  real(DP), intent(out) :: array(:,:,:,:,:,:)
14502  end subroutine historygetdouble6
14503  end interface
14504  interface
14505  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14506  character(*), intent(in):: file
14507  character(*), intent(in):: varname
14508  character(*), intent(out):: url
14509  character(*), intent(in), optional:: range
14510  logical, intent(out), optional:: flag_time_exist
14511  character(*), intent(out), optional:: time_name
14512  logical, intent(out), optional:: err
14513  end subroutine lookup_growable_url
14514  end interface
14515  interface
14516  function file_rename_mpi( file ) result(result)
14517  use dc_types, only: string
14518  character(*), intent(in):: file
14519  character(STRING):: result
14520  end function file_rename_mpi
14521  end interface
14522  continue
14523  file_work = file
14524  if ( present_and_true( flag_mpi_split ) ) &
14525  & file_work = file_rename_mpi( file_work )
14526  call lookup_growable_url(file = file_work, varname = varname, &
14527  & url = url, &
14528  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14529  call url_chop_iorange( &
14530  & fullname = url, iorange = iorange, remainder = remainder )
14531  call split( str = iorange, carray = carray, sep = gt_equal )
14532  timevar_name = carray(1)
14533  deallocate( carray )
14534  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14535  call historygetdouble6( file = file, &
14536  & varname = varname, array = array, &
14537  & range = time_range, quiet = quiet, &
14538  & flag_mpi_split = flag_mpi_split, &
14539  & returned_time = returned_time, &
14540  & flag_time_exist = flag_time_exist, &
14541  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble6timer()

subroutine historygetdouble6timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7174 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7174  use dc_string, only: tochar, split
7175  use dc_types, only: string, dp, sp
7176  use dc_trace, only: dbgmessage
7177  use dc_url, only: url_chop_iorange, gt_equal
7178  use dc_present, only: present_and_true
7179  implicit none
7180  character(*), intent(in):: file, varname
7181  real(SP), intent(in):: time
7182  logical, intent(in), optional:: quiet
7183  real(DP), intent(out) :: array(:,:,:,:,:,:)
7184  logical, intent(in), optional:: flag_mpi_split
7185  real(DP), intent(out), optional:: returned_time
7186  logical, intent(out), optional:: flag_time_exist
7187  logical, intent(out), optional:: err
7188  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7189  character(STRING), pointer:: carray (:)
7190  character(STRING):: tname
7191  character(*), parameter :: subname = "HistoryGetDouble6TimeR"
7192  interface
7193  subroutine historygetdouble6(&
7194  & file, varname, array, range, quiet, &
7195  & flag_mpi_split, returned_time, flag_time_exist, err)
7196  use dc_types, only: dp
7197  character(*), intent(in):: file
7198  character(*), intent(in):: varname
7199  character(*), intent(in), optional:: range
7200  logical, intent(in), optional:: quiet
7201  logical, intent(in), optional:: flag_mpi_split
7202  real(DP), intent(out), optional:: returned_time
7203  logical, intent(out), optional:: flag_time_exist
7204  logical, intent(out), optional:: err
7205  real(DP), intent(out) :: array(:,:,:,:,:,:)
7206  end subroutine historygetdouble6
7207  end interface
7208  interface
7209  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7210  character(*), intent(in):: file
7211  character(*), intent(in):: varname
7212  character(*), intent(out):: url
7213  character(*), intent(in), optional:: range
7214  logical, intent(out), optional:: flag_time_exist
7215  character(*), intent(out), optional:: time_name
7216  logical, intent(out), optional:: err
7217  end subroutine lookup_growable_url
7218  end interface
7219  interface
7220  function file_rename_mpi( file ) result(result)
7221  use dc_types, only: string
7222  character(*), intent(in):: file
7223  character(STRING):: result
7224  end function file_rename_mpi
7225  end interface
7226  continue
7227  file_work = file
7228  if ( present_and_true( flag_mpi_split ) ) &
7229  & file_work = file_rename_mpi( file_work )
7230  call lookup_growable_url(file = file_work, varname = varname, &
7231  & url = url, &
7232  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7233  call url_chop_iorange( &
7234  & fullname = url, iorange = iorange, remainder = remainder )
7235  call split( str = iorange, carray = carray, sep = gt_equal )
7236  timevar_name = carray(1)
7237  deallocate( carray )
7238  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7239  call historygetdouble6( file = file, &
7240  & varname = varname, array = array, &
7241  & range = time_range, quiet = quiet, &
7242  & flag_mpi_split = flag_mpi_split, &
7243  & returned_time = returned_time, &
7244  & flag_time_exist = flag_time_exist, &
7245  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetdouble6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble7()

subroutine historygetdouble7 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 1437 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble7timed(), historygetdouble7timei(), and historygetdouble7timer().

1437  use gtdata_types, only: gt_variable
1438  use gtdata_generic, only: open, inquire, close, get
1439  use dc_string, only: tochar, split, joinchar, stoa
1442  use dc_regex, only: match
1443  use dc_types, only: string, dp
1444  use dc_message, only: messagenotify
1445  use dc_trace, only: dbgmessage
1448  implicit none
1449  character(*), intent(in):: file
1450  character(*), intent(in):: varname
1451  character(*), intent(in), optional:: range
1452  logical, intent(in), optional:: quiet
1453  logical, intent(in), optional:: flag_mpi_split
1454  real(DP), intent(out), optional:: returned_time ! データの時刻
1455  logical, intent(out), optional:: flag_time_exist
1456  logical, intent(out), optional:: err
1457  real(DP), intent(out) :: array(:,:,:,:,:,:,:)
1458  real(DP), allocatable :: array_tmp(:)
1459  integer:: array_allsize
1460  integer:: array_shape(7), data_shape(7), array_shape_check(7)
1461  integer:: allcount
1462  integer:: i, sd
1463  logical:: inq_err
1464  type(gt_variable):: var
1465  character(STRING):: file_work, url, actual_url
1466  integer:: rank, alldims, array_rank
1467  integer:: domain
1468  character(STRING):: tname
1469  integer:: stat
1470  character(STRING):: cause_c
1471  character(*), parameter :: subname = "HistoryGetDouble7"
1472  interface
1473  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
1474  character(*), intent(in):: file
1475  character(*), intent(in):: varname
1476  character(*), intent(out):: url
1477  character(*), intent(in), optional:: range
1478  logical, intent(out), optional:: flag_time_exist
1479  character(*), intent(out), optional:: time_name
1480  logical, intent(out), optional:: err
1481  end subroutine lookup_growable_url
1482  end interface
1483  interface
1484  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
1485  use dc_types, only: dp
1486  character(*), intent(in) :: url ! 変数 URL
1487  character(*), intent(out), optional :: actual_url
1488  ! 正確な入出力範囲指定
1489  real(DP), intent(out), optional:: returned_time ! データの時刻
1490  character(*), intent(in), optional:: time_name ! 時刻次元の名称
1491  logical, intent(out), optional :: err ! エラーのフラグ
1492  end subroutine actual_iorange_dump
1493  end interface
1494  interface
1495  function file_rename_mpi( file ) result(result)
1496  use dc_types, only: string
1497  character(*), intent(in):: file
1498  character(STRING):: result
1499  end function file_rename_mpi
1500  end interface
1501  continue
1502  cause_c = ''
1503  stat = dc_noerr
1504  file_work = file
1505  array_shape = shape( array )
1506  array_allsize = size( array )
1507  ! ファイル名の変更 (MPI 用)
1508  ! Change filename (for MPI)
1509  !
1510  if ( present_and_true( flag_mpi_split ) ) &
1511  & file_work = file_rename_mpi( file_work )
1512  ! 最新時刻の URL 取得
1513  ! Get URL of latest time
1514  !
1515  call lookup_growable_url(file_work, varname, url, range, &
1516  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
1517  if ( present_and_true(err) ) then
1518  stat = gt_enoturl
1519  cause_c = url
1520  goto 999
1521  end if
1522  ! ファイルオープン
1523  ! File open
1524  call open( var, url, err = err )
1525  if ( present_and_true(err) ) then
1526  stat = gt_enoturl
1527  cause_c = url
1528  goto 999
1529  end if
1530  !-------------------------------------------------------------------
1531  ! 配列形状のチェック
1532  ! Check array shape
1533  !-------------------------------------------------------------------
1534  ! 入力ファイル中のデータの次元数
1535  ! Get size of dimesions in data of an input file
1536  !
1537  call inquire( var = var, & ! (in)
1538  & rank = rank, alldims = alldims ) ! (out)
1539  ! 引数の次元数のチェック (縮退されている場合には減らす)
1540  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
1541  array_rank = 7
1542  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
1543  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
1544  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
1545  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
1546  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
1547  if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
1548  if ( size( array, 7 ) == 1 ) array_rank = array_rank - 1
1549  ! 次元数の比較
1550  ! Compare sizes of dimensions
1551  !
1552  if ( .not. 7 == rank .and. .not. array_rank == rank ) then
1553  if ( .not. present_and_true(quiet) ) then
1554  call messagenotify('W', subname, &
1555  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
1556  & i = (/rank, 7/), c1 = trim(url) )
1557  end if
1558  stat = gt_erankmismatch
1559  cause_c = 'array'
1560  goto 999
1561  end if
1562  ! 入力ファイル中のデータの配列形状取得
1563  ! Get shape of data in an input file
1564  call inquire( var = var , dimord = 1, & ! (in)
1565  & allcount = allcount, err = inq_err ) ! (out)
1566  if ( .not. inq_err ) then
1567  data_shape(1) = allcount
1568  else
1569  data_shape(1) = 1
1570  end if
1571  call inquire( var = var , dimord = 2, & ! (in)
1572  & allcount = allcount, err = inq_err ) ! (out)
1573  if ( .not. inq_err ) then
1574  data_shape(2) = allcount
1575  else
1576  data_shape(2) = 1
1577  end if
1578  call inquire( var = var , dimord = 3, & ! (in)
1579  & allcount = allcount, err = inq_err ) ! (out)
1580  if ( .not. inq_err ) then
1581  data_shape(3) = allcount
1582  else
1583  data_shape(3) = 1
1584  end if
1585  call inquire( var = var , dimord = 4, & ! (in)
1586  & allcount = allcount, err = inq_err ) ! (out)
1587  if ( .not. inq_err ) then
1588  data_shape(4) = allcount
1589  else
1590  data_shape(4) = 1
1591  end if
1592  call inquire( var = var , dimord = 5, & ! (in)
1593  & allcount = allcount, err = inq_err ) ! (out)
1594  if ( .not. inq_err ) then
1595  data_shape(5) = allcount
1596  else
1597  data_shape(5) = 1
1598  end if
1599  call inquire( var = var , dimord = 6, & ! (in)
1600  & allcount = allcount, err = inq_err ) ! (out)
1601  if ( .not. inq_err ) then
1602  data_shape(6) = allcount
1603  else
1604  data_shape(6) = 1
1605  end if
1606  call inquire( var = var , dimord = 7, & ! (in)
1607  & allcount = allcount, err = inq_err ) ! (out)
1608  if ( .not. inq_err ) then
1609  data_shape(7) = allcount
1610  else
1611  data_shape(7) = 1
1612  end if
1613  ! 引数の配列形状整形
1614  ! Arrange shape of an argument
1615  !
1616  array_shape_check = array_shape
1617  sd = 1
1618  do i = 1, 7 - 1
1619  if ( array_shape_check(sd) == 1 ) then
1620  array_shape_check(sd:7) = cshift( array_shape_check(sd:7), 1, 1 )
1621  else
1622  sd = sd + 1
1623  end if
1624  end do
1625  ! 配列形状の比較
1626  ! Compare shapes
1627  !
1628  if ( .not. all( array_shape_check == data_shape ) ) then
1629  if ( .not. present_and_true(quiet) ) then
1630  call messagenotify('W', subname, &
1631  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
1632  & c1 = trim( url ), &
1633  & c2 = trim( tochar( data_shape(1:rank) ) ), &
1634  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
1635  end if
1636  stat = gt_eargsizemismatch
1637  cause_c = 'array'
1638  goto 999
1639  end if
1640  !-------------------------------------
1641  ! データ取得
1642  ! Get data
1643  call inquire( var = var, & ! (in)
1644  & size = domain ) ! (out)
1645  if ( allocated( array_tmp ) ) deallocate( array_tmp )
1646  allocate( array_tmp(array_allsize) )
1647  call get( var, array_tmp, domain )
1648  array = reshape( array_tmp, array_shape )
1649  deallocate( array_tmp )
1650  call close( var )
1651  !-------------------------------------
1652  ! データファイル名と切り出し範囲の印字
1653  ! Print data filename and clipping range
1654  call actual_iorange_dump(url, & ! (in)
1655  & actual_url, returned_time, & ! (out) optional
1656  & time_name = tname, & ! (in) optional
1657  & err = err) ! (out) optional
1658  if ( .not. present_and_true(quiet) ) then
1659  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
1660  end if
1661 999 continue
1662  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble7pointer()

subroutine historygetdouble7pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5368 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetdouble7pointertimed(), historygetdouble7pointertimei(), and historygetdouble7pointertimer().

5368  use gtdata_types, only: gt_variable
5369  use gtdata_generic, only: open, inquire, close, get
5370  use dc_string, only: tochar
5372  use dc_types, only: string, dp
5373  use dc_message, only: messagenotify
5374  use dc_trace, only: dbgmessage
5375  implicit none
5376  character(*), intent(in):: file
5377  character(*), intent(in):: varname
5378  character(*), intent(in), optional:: range
5379  logical, intent(in), optional:: quiet
5380  logical, intent(in), optional:: flag_mpi_split
5381  real(DP), intent(out), optional:: returned_time ! データの時刻
5382  logical, intent(out), optional:: flag_time_exist
5383  logical, intent(out), optional:: err
5384  integer:: domain
5385  real(DP), pointer :: array(:,:,:,:,:,:,:) ! (out)
5386  real(DP), target :: array_tmp(1)
5387  type(gt_variable):: var
5388  character(STRING):: file_work, url, actual_url
5389  character(STRING):: tname
5390  character(*), parameter :: subname = "HistoryGetDouble7Pointer"
5391  interface
5392  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5393  character(*), intent(in):: file
5394  character(*), intent(in):: varname
5395  character(*), intent(out):: url
5396  character(*), intent(in), optional:: range
5397  logical, intent(out), optional:: flag_time_exist
5398  character(*), intent(out), optional:: time_name
5399  logical, intent(out), optional:: err
5400  end subroutine lookup_growable_url
5401  end interface
5402  interface
5403  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5404  use dc_types, only: dp
5405  character(*), intent(in) :: url ! 変数 URL
5406  character(*), intent(out), optional :: actual_url
5407  ! 正確な入出力範囲指定
5408  real(DP), intent(out), optional:: returned_time ! データの時刻
5409  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5410  logical, intent(out), optional :: err ! エラーのフラグ
5411  end subroutine actual_iorange_dump
5412  end interface
5413  interface
5414  function file_rename_mpi( file ) result(result)
5415  use dc_types, only: string
5416  character(*), intent(in):: file
5417  character(STRING):: result
5418  end function file_rename_mpi
5419  end interface
5420  continue
5421  file_work = file
5422  ! ファイル名の変更 (MPI 用)
5423  ! Change filename (for MPI)
5424  !
5425  if ( present_and_true( flag_mpi_split ) ) &
5426  & file_work = file_rename_mpi( file_work )
5427  ! 必要な情報を gtool 変数化
5428  !
5429  call lookup_growable_url(file_work, varname, url, range, &
5430  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5431  call dbgmessage('@ url =%c', c1=trim(url))
5432  ! いよいよデータ取得
5433  !
5434  call open(var, url, err)
5435  call get(var, array, err)
5436  call close(var, err)
5437  call actual_iorange_dump(url, & ! (in)
5438  & actual_url, returned_time, & ! (out) optional
5439  & time_name = tname, & ! (in) optional
5440  & err = err) ! (out) optional
5441  if ( .not. present_and_true(quiet) ) then
5442  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5443  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetdouble7pointertimed()

subroutine historygetdouble7pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11506 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

11506  use dc_string, only: tochar, split
11507  use dc_types, only: string, dp
11508  use dc_trace, only: dbgmessage
11509  use dc_url, only: url_chop_iorange, gt_equal
11510  use dc_present, only: present_and_true
11511  implicit none
11512  character(*), intent(in):: file, varname
11513  real(DP), intent(in):: time
11514  logical, intent(in), optional:: quiet
11515  real(DP), pointer :: array(:,:,:,:,:,:,:)
11516  logical, intent(in), optional:: flag_mpi_split
11517  real(DP), intent(out), optional:: returned_time
11518  logical, intent(out), optional:: flag_time_exist
11519  logical, intent(out), optional:: err
11520  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11521  character(STRING), pointer:: carray (:)
11522  character(STRING):: tname
11523  character(*), parameter :: subname = "HistoryGetDouble7TimeD"
11524  interface
11525  subroutine historygetdouble7pointer(&
11526  & file, varname, array, range, quiet, &
11527  & flag_mpi_split, returned_time, flag_time_exist, err)
11528  use dc_types, only: dp
11529  character(*), intent(in):: file
11530  character(*), intent(in):: varname
11531  character(*), intent(in), optional:: range
11532  logical, intent(in), optional:: quiet
11533  logical, intent(in), optional:: flag_mpi_split
11534  real(DP), intent(out), optional:: returned_time
11535  logical, intent(out), optional:: flag_time_exist
11536  logical, intent(out), optional:: err
11537  real(DP), pointer :: array(:,:,:,:,:,:,:)
11538  end subroutine historygetdouble7pointer
11539  end interface
11540  interface
11541  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11542  character(*), intent(in):: file
11543  character(*), intent(in):: varname
11544  character(*), intent(out):: url
11545  character(*), intent(in), optional:: range
11546  logical, intent(out), optional:: flag_time_exist
11547  character(*), intent(out), optional:: time_name
11548  logical, intent(out), optional:: err
11549  end subroutine lookup_growable_url
11550  end interface
11551  interface
11552  function file_rename_mpi( file ) result(result)
11553  use dc_types, only: string
11554  character(*), intent(in):: file
11555  character(STRING):: result
11556  end function file_rename_mpi
11557  end interface
11558  continue
11559  file_work = file
11560  if ( present_and_true( flag_mpi_split ) ) &
11561  & file_work = file_rename_mpi( file_work )
11562  call lookup_growable_url(file = file_work, varname = varname, &
11563  & url = url, &
11564  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11565  call url_chop_iorange( &
11566  & fullname = url, iorange = iorange, remainder = remainder )
11567  call split( str = iorange, carray = carray, sep = gt_equal )
11568  timevar_name = carray(1)
11569  deallocate( carray )
11570  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11571  call historygetdouble7pointer( file = file, &
11572  & varname = varname, array = array, &
11573  & range = time_range, quiet = quiet, &
11574  & flag_mpi_split = flag_mpi_split, &
11575  & returned_time = returned_time, &
11576  & flag_time_exist = flag_time_exist, &
11577  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetdouble7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble7pointertimei()

subroutine historygetdouble7pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15154 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

15154  use dc_string, only: tochar, split
15155  use dc_types, only: string, dp
15156  use dc_trace, only: dbgmessage
15157  use dc_url, only: url_chop_iorange, gt_equal
15158  use dc_present, only: present_and_true
15159  implicit none
15160  character(*), intent(in):: file, varname
15161  integer, intent(in):: time
15162  logical, intent(in), optional:: quiet
15163  real(DP), pointer :: array(:,:,:,:,:,:,:)
15164  logical, intent(in), optional:: flag_mpi_split
15165  real(DP), intent(out), optional:: returned_time
15166  logical, intent(out), optional:: flag_time_exist
15167  logical, intent(out), optional:: err
15168  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15169  character(STRING), pointer:: carray (:)
15170  character(STRING):: tname
15171  character(*), parameter :: subname = "HistoryGetDouble7TimeI"
15172  interface
15173  subroutine historygetdouble7pointer(&
15174  & file, varname, array, range, quiet, &
15175  & flag_mpi_split, returned_time, flag_time_exist, err)
15176  use dc_types, only: dp
15177  character(*), intent(in):: file
15178  character(*), intent(in):: varname
15179  character(*), intent(in), optional:: range
15180  logical, intent(in), optional:: quiet
15181  logical, intent(in), optional:: flag_mpi_split
15182  real(DP), intent(out), optional:: returned_time
15183  logical, intent(out), optional:: flag_time_exist
15184  logical, intent(out), optional:: err
15185  real(DP), pointer :: array(:,:,:,:,:,:,:)
15186  end subroutine historygetdouble7pointer
15187  end interface
15188  interface
15189  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15190  character(*), intent(in):: file
15191  character(*), intent(in):: varname
15192  character(*), intent(out):: url
15193  character(*), intent(in), optional:: range
15194  logical, intent(out), optional:: flag_time_exist
15195  character(*), intent(out), optional:: time_name
15196  logical, intent(out), optional:: err
15197  end subroutine lookup_growable_url
15198  end interface
15199  interface
15200  function file_rename_mpi( file ) result(result)
15201  use dc_types, only: string
15202  character(*), intent(in):: file
15203  character(STRING):: result
15204  end function file_rename_mpi
15205  end interface
15206  continue
15207  file_work = file
15208  if ( present_and_true( flag_mpi_split ) ) &
15209  & file_work = file_rename_mpi( file_work )
15210  call lookup_growable_url(file = file_work, varname = varname, &
15211  & url = url, &
15212  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15213  call url_chop_iorange( &
15214  & fullname = url, iorange = iorange, remainder = remainder )
15215  call split( str = iorange, carray = carray, sep = gt_equal )
15216  timevar_name = carray(1)
15217  deallocate( carray )
15218  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15219  call historygetdouble7pointer( file = file, &
15220  & varname = varname, array = array, &
15221  & range = time_range, quiet = quiet, &
15222  & flag_mpi_split = flag_mpi_split, &
15223  & returned_time = returned_time, &
15224  & flag_time_exist = flag_time_exist, &
15225  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetdouble7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble7pointertimer()

subroutine historygetdouble7pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7858 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7858  use dc_string, only: tochar, split
7859  use dc_types, only: string, dp, sp
7860  use dc_trace, only: dbgmessage
7861  use dc_url, only: url_chop_iorange, gt_equal
7862  use dc_present, only: present_and_true
7863  implicit none
7864  character(*), intent(in):: file, varname
7865  real(SP), intent(in):: time
7866  logical, intent(in), optional:: quiet
7867  real(DP), pointer :: array(:,:,:,:,:,:,:)
7868  logical, intent(in), optional:: flag_mpi_split
7869  real(DP), intent(out), optional:: returned_time
7870  logical, intent(out), optional:: flag_time_exist
7871  logical, intent(out), optional:: err
7872  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7873  character(STRING), pointer:: carray (:)
7874  character(STRING):: tname
7875  character(*), parameter :: subname = "HistoryGetDouble7TimeR"
7876  interface
7877  subroutine historygetdouble7pointer(&
7878  & file, varname, array, range, quiet, &
7879  & flag_mpi_split, returned_time, flag_time_exist, err)
7880  use dc_types, only: dp
7881  character(*), intent(in):: file
7882  character(*), intent(in):: varname
7883  character(*), intent(in), optional:: range
7884  logical, intent(in), optional:: quiet
7885  logical, intent(in), optional:: flag_mpi_split
7886  real(DP), intent(out), optional:: returned_time
7887  logical, intent(out), optional:: flag_time_exist
7888  logical, intent(out), optional:: err
7889  real(DP), pointer :: array(:,:,:,:,:,:,:)
7890  end subroutine historygetdouble7pointer
7891  end interface
7892  interface
7893  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7894  character(*), intent(in):: file
7895  character(*), intent(in):: varname
7896  character(*), intent(out):: url
7897  character(*), intent(in), optional:: range
7898  logical, intent(out), optional:: flag_time_exist
7899  character(*), intent(out), optional:: time_name
7900  logical, intent(out), optional:: err
7901  end subroutine lookup_growable_url
7902  end interface
7903  interface
7904  function file_rename_mpi( file ) result(result)
7905  use dc_types, only: string
7906  character(*), intent(in):: file
7907  character(STRING):: result
7908  end function file_rename_mpi
7909  end interface
7910  continue
7911  file_work = file
7912  if ( present_and_true( flag_mpi_split ) ) &
7913  & file_work = file_rename_mpi( file_work )
7914  call lookup_growable_url(file = file_work, varname = varname, &
7915  & url = url, &
7916  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7917  call url_chop_iorange( &
7918  & fullname = url, iorange = iorange, remainder = remainder )
7919  call split( str = iorange, carray = carray, sep = gt_equal )
7920  timevar_name = carray(1)
7921  deallocate( carray )
7922  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7923  call historygetdouble7pointer( file = file, &
7924  & varname = varname, array = array, &
7925  & range = time_range, quiet = quiet, &
7926  & flag_mpi_split = flag_mpi_split, &
7927  & returned_time = returned_time, &
7928  & flag_time_exist = flag_time_exist, &
7929  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetdouble7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble7timed()

subroutine historygetdouble7timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10898 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

10898  use dc_string, only: tochar, split
10899  use dc_types, only: string, dp
10900  use dc_trace, only: dbgmessage
10901  use dc_url, only: url_chop_iorange, gt_equal
10902  use dc_present, only: present_and_true
10903  implicit none
10904  character(*), intent(in):: file, varname
10905  real(DP), intent(in):: time
10906  logical, intent(in), optional:: quiet
10907  real(DP), intent(out) :: array(:,:,:,:,:,:,:)
10908  logical, intent(in), optional:: flag_mpi_split
10909  real(DP), intent(out), optional:: returned_time
10910  logical, intent(out), optional:: flag_time_exist
10911  logical, intent(out), optional:: err
10912  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10913  character(STRING), pointer:: carray (:)
10914  character(STRING):: tname
10915  character(*), parameter :: subname = "HistoryGetDouble7TimeD"
10916  interface
10917  subroutine historygetdouble7(&
10918  & file, varname, array, range, quiet, &
10919  & flag_mpi_split, returned_time, flag_time_exist, err)
10920  use dc_types, only: dp
10921  character(*), intent(in):: file
10922  character(*), intent(in):: varname
10923  character(*), intent(in), optional:: range
10924  logical, intent(in), optional:: quiet
10925  logical, intent(in), optional:: flag_mpi_split
10926  real(DP), intent(out), optional:: returned_time
10927  logical, intent(out), optional:: flag_time_exist
10928  logical, intent(out), optional:: err
10929  real(DP), intent(out) :: array(:,:,:,:,:,:,:)
10930  end subroutine historygetdouble7
10931  end interface
10932  interface
10933  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10934  character(*), intent(in):: file
10935  character(*), intent(in):: varname
10936  character(*), intent(out):: url
10937  character(*), intent(in), optional:: range
10938  logical, intent(out), optional:: flag_time_exist
10939  character(*), intent(out), optional:: time_name
10940  logical, intent(out), optional:: err
10941  end subroutine lookup_growable_url
10942  end interface
10943  interface
10944  function file_rename_mpi( file ) result(result)
10945  use dc_types, only: string
10946  character(*), intent(in):: file
10947  character(STRING):: result
10948  end function file_rename_mpi
10949  end interface
10950  continue
10951  file_work = file
10952  if ( present_and_true( flag_mpi_split ) ) &
10953  & file_work = file_rename_mpi( file_work )
10954  call lookup_growable_url(file = file_work, varname = varname, &
10955  & url = url, &
10956  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10957  call url_chop_iorange( &
10958  & fullname = url, iorange = iorange, remainder = remainder )
10959  call split( str = iorange, carray = carray, sep = gt_equal )
10960  timevar_name = carray(1)
10961  deallocate( carray )
10962  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10963  call historygetdouble7( file = file, &
10964  & varname = varname, array = array, &
10965  & range = time_range, quiet = quiet, &
10966  & flag_mpi_split = flag_mpi_split, &
10967  & returned_time = returned_time, &
10968  & flag_time_exist = flag_time_exist, &
10969  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetdouble7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble7timei()

subroutine historygetdouble7timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 14546 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

14546  use dc_string, only: tochar, split
14547  use dc_types, only: string, dp
14548  use dc_trace, only: dbgmessage
14549  use dc_url, only: url_chop_iorange, gt_equal
14550  use dc_present, only: present_and_true
14551  implicit none
14552  character(*), intent(in):: file, varname
14553  integer, intent(in):: time
14554  logical, intent(in), optional:: quiet
14555  real(DP), intent(out) :: array(:,:,:,:,:,:,:)
14556  logical, intent(in), optional:: flag_mpi_split
14557  real(DP), intent(out), optional:: returned_time
14558  logical, intent(out), optional:: flag_time_exist
14559  logical, intent(out), optional:: err
14560  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
14561  character(STRING), pointer:: carray (:)
14562  character(STRING):: tname
14563  character(*), parameter :: subname = "HistoryGetDouble7TimeI"
14564  interface
14565  subroutine historygetdouble7(&
14566  & file, varname, array, range, quiet, &
14567  & flag_mpi_split, returned_time, flag_time_exist, err)
14568  use dc_types, only: dp
14569  character(*), intent(in):: file
14570  character(*), intent(in):: varname
14571  character(*), intent(in), optional:: range
14572  logical, intent(in), optional:: quiet
14573  logical, intent(in), optional:: flag_mpi_split
14574  real(DP), intent(out), optional:: returned_time
14575  logical, intent(out), optional:: flag_time_exist
14576  logical, intent(out), optional:: err
14577  real(DP), intent(out) :: array(:,:,:,:,:,:,:)
14578  end subroutine historygetdouble7
14579  end interface
14580  interface
14581  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
14582  character(*), intent(in):: file
14583  character(*), intent(in):: varname
14584  character(*), intent(out):: url
14585  character(*), intent(in), optional:: range
14586  logical, intent(out), optional:: flag_time_exist
14587  character(*), intent(out), optional:: time_name
14588  logical, intent(out), optional:: err
14589  end subroutine lookup_growable_url
14590  end interface
14591  interface
14592  function file_rename_mpi( file ) result(result)
14593  use dc_types, only: string
14594  character(*), intent(in):: file
14595  character(STRING):: result
14596  end function file_rename_mpi
14597  end interface
14598  continue
14599  file_work = file
14600  if ( present_and_true( flag_mpi_split ) ) &
14601  & file_work = file_rename_mpi( file_work )
14602  call lookup_growable_url(file = file_work, varname = varname, &
14603  & url = url, &
14604  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
14605  call url_chop_iorange( &
14606  & fullname = url, iorange = iorange, remainder = remainder )
14607  call split( str = iorange, carray = carray, sep = gt_equal )
14608  timevar_name = carray(1)
14609  deallocate( carray )
14610  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14611  call historygetdouble7( file = file, &
14612  & varname = varname, array = array, &
14613  & range = time_range, quiet = quiet, &
14614  & flag_mpi_split = flag_mpi_split, &
14615  & returned_time = returned_time, &
14616  & flag_time_exist = flag_time_exist, &
14617  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetdouble7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetdouble7timer()

subroutine historygetdouble7timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(dp), dimension(:,:,:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7250 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetdouble7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7250  use dc_string, only: tochar, split
7251  use dc_types, only: string, dp, sp
7252  use dc_trace, only: dbgmessage
7253  use dc_url, only: url_chop_iorange, gt_equal
7254  use dc_present, only: present_and_true
7255  implicit none
7256  character(*), intent(in):: file, varname
7257  real(SP), intent(in):: time
7258  logical, intent(in), optional:: quiet
7259  real(DP), intent(out) :: array(:,:,:,:,:,:,:)
7260  logical, intent(in), optional:: flag_mpi_split
7261  real(DP), intent(out), optional:: returned_time
7262  logical, intent(out), optional:: flag_time_exist
7263  logical, intent(out), optional:: err
7264  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7265  character(STRING), pointer:: carray (:)
7266  character(STRING):: tname
7267  character(*), parameter :: subname = "HistoryGetDouble7TimeR"
7268  interface
7269  subroutine historygetdouble7(&
7270  & file, varname, array, range, quiet, &
7271  & flag_mpi_split, returned_time, flag_time_exist, err)
7272  use dc_types, only: dp
7273  character(*), intent(in):: file
7274  character(*), intent(in):: varname
7275  character(*), intent(in), optional:: range
7276  logical, intent(in), optional:: quiet
7277  logical, intent(in), optional:: flag_mpi_split
7278  real(DP), intent(out), optional:: returned_time
7279  logical, intent(out), optional:: flag_time_exist
7280  logical, intent(out), optional:: err
7281  real(DP), intent(out) :: array(:,:,:,:,:,:,:)
7282  end subroutine historygetdouble7
7283  end interface
7284  interface
7285  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7286  character(*), intent(in):: file
7287  character(*), intent(in):: varname
7288  character(*), intent(out):: url
7289  character(*), intent(in), optional:: range
7290  logical, intent(out), optional:: flag_time_exist
7291  character(*), intent(out), optional:: time_name
7292  logical, intent(out), optional:: err
7293  end subroutine lookup_growable_url
7294  end interface
7295  interface
7296  function file_rename_mpi( file ) result(result)
7297  use dc_types, only: string
7298  character(*), intent(in):: file
7299  character(STRING):: result
7300  end function file_rename_mpi
7301  end interface
7302  continue
7303  file_work = file
7304  if ( present_and_true( flag_mpi_split ) ) &
7305  & file_work = file_rename_mpi( file_work )
7306  call lookup_growable_url(file = file_work, varname = varname, &
7307  & url = url, &
7308  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7309  call url_chop_iorange( &
7310  & fullname = url, iorange = iorange, remainder = remainder )
7311  call split( str = iorange, carray = carray, sep = gt_equal )
7312  timevar_name = carray(1)
7313  deallocate( carray )
7314  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7315  call historygetdouble7( file = file, &
7316  & varname = varname, array = array, &
7317  & range = time_range, quiet = quiet, &
7318  & flag_mpi_split = flag_mpi_split, &
7319  & returned_time = returned_time, &
7320  & flag_time_exist = flag_time_exist, &
7321  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetdouble7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint0()

subroutine historygetint0 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 3239 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetint0timed(), historygetint0timei(), and historygetint0timer().

3239  use gtdata_types, only: gt_variable
3240  use gtdata_generic, only: open, inquire, close, get
3241  use dc_string, only: tochar, split, joinchar, stoa
3244  use dc_regex, only: match
3245  use dc_types, only: string, dp
3246  use dc_message, only: messagenotify
3247  use dc_trace, only: dbgmessage
3250  implicit none
3251  character(*), intent(in):: file
3252  character(*), intent(in):: varname
3253  character(*), intent(in), optional:: range
3254  logical, intent(in), optional:: quiet
3255  logical, intent(in), optional:: flag_mpi_split
3256  real(DP), intent(out), optional:: returned_time ! データの時刻
3257  logical, intent(out), optional:: flag_time_exist
3258  logical, intent(out), optional:: err
3259  integer, intent(out) :: array
3260  integer :: array_tmp(1)
3261  type(gt_variable):: var
3262  character(STRING):: file_work, url, actual_url
3263  integer:: rank, alldims, array_rank
3264  integer:: domain
3265  character(STRING):: tname
3266  integer:: stat
3267  character(STRING):: cause_c
3268  character(*), parameter :: subname = "HistoryGetInt0"
3269  interface
3270  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
3271  character(*), intent(in):: file
3272  character(*), intent(in):: varname
3273  character(*), intent(out):: url
3274  character(*), intent(in), optional:: range
3275  logical, intent(out), optional:: flag_time_exist
3276  character(*), intent(out), optional:: time_name
3277  logical, intent(out), optional:: err
3278  end subroutine lookup_growable_url
3279  end interface
3280  interface
3281  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
3282  use dc_types, only: dp
3283  character(*), intent(in) :: url ! 変数 URL
3284  character(*), intent(out), optional :: actual_url
3285  ! 正確な入出力範囲指定
3286  real(DP), intent(out), optional:: returned_time ! データの時刻
3287  character(*), intent(in), optional:: time_name ! 時刻次元の名称
3288  logical, intent(out), optional :: err ! エラーのフラグ
3289  end subroutine actual_iorange_dump
3290  end interface
3291  interface
3292  function file_rename_mpi( file ) result(result)
3293  use dc_types, only: string
3294  character(*), intent(in):: file
3295  character(STRING):: result
3296  end function file_rename_mpi
3297  end interface
3298  continue
3299  cause_c = ''
3300  stat = dc_noerr
3301  file_work = file
3302  ! ファイル名の変更 (MPI 用)
3303  ! Change filename (for MPI)
3304  !
3305  if ( present_and_true( flag_mpi_split ) ) &
3306  & file_work = file_rename_mpi( file_work )
3307  ! 最新時刻の URL 取得
3308  ! Get URL of latest time
3309  !
3310  call lookup_growable_url(file_work, varname, url, range, &
3311  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
3312  if ( present_and_true(err) ) then
3313  stat = gt_enoturl
3314  cause_c = url
3315  goto 999
3316  end if
3317  ! ファイルオープン
3318  ! File open
3319  call open( var, url, err = err )
3320  if ( present_and_true(err) ) then
3321  stat = gt_enoturl
3322  cause_c = url
3323  goto 999
3324  end if
3325  !-------------------------------------------------------------------
3326  ! 配列形状のチェック
3327  ! Check array shape
3328  !-------------------------------------------------------------------
3329  ! 入力ファイル中のデータの次元数
3330  ! Get size of dimesions in data of an input file
3331  !
3332  call inquire( var = var, & ! (in)
3333  & rank = rank, alldims = alldims ) ! (out)
3334  ! 引数の次元数のチェック (縮退されている場合には減らす)
3335  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
3336  array_rank = 0
3337  ! 次元数の比較
3338  ! Compare sizes of dimensions
3339  !
3340  if ( .not. 0 == rank .and. .not. array_rank == rank ) then
3341  if ( .not. present_and_true(quiet) ) then
3342  call messagenotify('W', subname, &
3343  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
3344  & i = (/rank, 0/), c1 = trim(url) )
3345  end if
3346  stat = gt_erankmismatch
3347  cause_c = 'array'
3348  goto 999
3349  end if
3350  ! 入力ファイル中のデータの配列形状取得
3351  ! Get shape of data in an input file
3352  !-------------------------------------
3353  ! データ取得
3354  ! Get data
3355  call inquire( var = var, & ! (in)
3356  & size = domain ) ! (out)
3357  call get( var = var, & ! (inout)
3358  & nvalue = domain, & ! (in)
3359  & value = array_tmp) ! (out)
3360  array = array_tmp(1)
3361  call close( var )
3362  !-------------------------------------
3363  ! データファイル名と切り出し範囲の印字
3364  ! Print data filename and clipping range
3365  call actual_iorange_dump(url, & ! (in)
3366  & actual_url, returned_time, & ! (out) optional
3367  & time_name = tname, & ! (in) optional
3368  & err = err) ! (out) optional
3369  if ( .not. present_and_true(quiet) ) then
3370  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
3371  end if
3372 999 continue
3373  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint0pointer()

subroutine historygetint0pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6082 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetint0pointertimed(), historygetint0pointertimei(), and historygetint0pointertimer().

6082  use gtdata_types, only: gt_variable
6083  use gtdata_generic, only: open, inquire, close, get
6084  use dc_string, only: tochar
6086  use dc_types, only: string, dp
6087  use dc_message, only: messagenotify
6088  use dc_trace, only: dbgmessage
6089  implicit none
6090  character(*), intent(in):: file
6091  character(*), intent(in):: varname
6092  character(*), intent(in), optional:: range
6093  logical, intent(in), optional:: quiet
6094  logical, intent(in), optional:: flag_mpi_split
6095  real(DP), intent(out), optional:: returned_time ! データの時刻
6096  logical, intent(out), optional:: flag_time_exist
6097  logical, intent(out), optional:: err
6098  integer:: domain
6099  integer, pointer :: array ! (out)
6100  integer, target :: array_tmp(1)
6101  type(gt_variable):: var
6102  character(STRING):: file_work, url, actual_url
6103  character(STRING):: tname
6104  character(*), parameter :: subname = "HistoryGetInt0Pointer"
6105  interface
6106  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6107  character(*), intent(in):: file
6108  character(*), intent(in):: varname
6109  character(*), intent(out):: url
6110  character(*), intent(in), optional:: range
6111  logical, intent(out), optional:: flag_time_exist
6112  character(*), intent(out), optional:: time_name
6113  logical, intent(out), optional:: err
6114  end subroutine lookup_growable_url
6115  end interface
6116  interface
6117  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6118  use dc_types, only: dp
6119  character(*), intent(in) :: url ! 変数 URL
6120  character(*), intent(out), optional :: actual_url
6121  ! 正確な入出力範囲指定
6122  real(DP), intent(out), optional:: returned_time ! データの時刻
6123  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6124  logical, intent(out), optional :: err ! エラーのフラグ
6125  end subroutine actual_iorange_dump
6126  end interface
6127  interface
6128  function file_rename_mpi( file ) result(result)
6129  use dc_types, only: string
6130  character(*), intent(in):: file
6131  character(STRING):: result
6132  end function file_rename_mpi
6133  end interface
6134  continue
6135  file_work = file
6136  ! ファイル名の変更 (MPI 用)
6137  ! Change filename (for MPI)
6138  !
6139  if ( present_and_true( flag_mpi_split ) ) &
6140  & file_work = file_rename_mpi( file_work )
6141  ! 必要な情報を gtool 変数化
6142  !
6143  call lookup_growable_url(file_work, varname, url, range, &
6144  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6145  allocate(array)
6146  call dbgmessage('@ url =%c', c1=trim(url))
6147  ! いよいよデータ取得
6148  !
6149  call open(var, url, err)
6150  call inquire(var=var, size=domain)
6151  call get(var, array_tmp, domain, err)
6152  array = array_tmp(1)
6153  call close(var, err)
6154  call actual_iorange_dump(url, & ! (in)
6155  & actual_url, returned_time, & ! (out) optional
6156  & time_name = tname, & ! (in) optional
6157  & err = err) ! (out) optional
6158  if ( .not. present_and_true(quiet) ) then
6159  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6160  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint0pointertimed()

subroutine historygetint0pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13406 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13406  use dc_string, only: tochar, split
13407  use dc_types, only: string, dp
13408  use dc_trace, only: dbgmessage
13409  use dc_url, only: url_chop_iorange, gt_equal
13410  use dc_present, only: present_and_true
13411  implicit none
13412  character(*), intent(in):: file, varname
13413  real(DP), intent(in):: time
13414  logical, intent(in), optional:: quiet
13415  integer, pointer :: array
13416  logical, intent(in), optional:: flag_mpi_split
13417  real(DP), intent(out), optional:: returned_time
13418  logical, intent(out), optional:: flag_time_exist
13419  logical, intent(out), optional:: err
13420  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13421  character(STRING), pointer:: carray (:)
13422  character(STRING):: tname
13423  character(*), parameter :: subname = "HistoryGetInt0TimeD"
13424  interface
13425  subroutine historygetint0pointer(&
13426  & file, varname, array, range, quiet, &
13427  & flag_mpi_split, returned_time, flag_time_exist, err)
13428  use dc_types, only: dp
13429  character(*), intent(in):: file
13430  character(*), intent(in):: varname
13431  character(*), intent(in), optional:: range
13432  logical, intent(in), optional:: quiet
13433  logical, intent(in), optional:: flag_mpi_split
13434  real(DP), intent(out), optional:: returned_time
13435  logical, intent(out), optional:: flag_time_exist
13436  logical, intent(out), optional:: err
13437  integer, pointer :: array
13438  end subroutine historygetint0pointer
13439  end interface
13440  interface
13441  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13442  character(*), intent(in):: file
13443  character(*), intent(in):: varname
13444  character(*), intent(out):: url
13445  character(*), intent(in), optional:: range
13446  logical, intent(out), optional:: flag_time_exist
13447  character(*), intent(out), optional:: time_name
13448  logical, intent(out), optional:: err
13449  end subroutine lookup_growable_url
13450  end interface
13451  interface
13452  function file_rename_mpi( file ) result(result)
13453  use dc_types, only: string
13454  character(*), intent(in):: file
13455  character(STRING):: result
13456  end function file_rename_mpi
13457  end interface
13458  continue
13459  file_work = file
13460  if ( present_and_true( flag_mpi_split ) ) &
13461  & file_work = file_rename_mpi( file_work )
13462  call lookup_growable_url(file = file_work, varname = varname, &
13463  & url = url, &
13464  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13465  call url_chop_iorange( &
13466  & fullname = url, iorange = iorange, remainder = remainder )
13467  call split( str = iorange, carray = carray, sep = gt_equal )
13468  timevar_name = carray(1)
13469  deallocate( carray )
13470  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13471  call historygetint0pointer( file = file, &
13472  & varname = varname, array = array, &
13473  & range = time_range, quiet = quiet, &
13474  & flag_mpi_split = flag_mpi_split, &
13475  & returned_time = returned_time, &
13476  & flag_time_exist = flag_time_exist, &
13477  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint0pointertimei()

subroutine historygetint0pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 17054 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

17054  use dc_string, only: tochar, split
17055  use dc_types, only: string, dp
17056  use dc_trace, only: dbgmessage
17057  use dc_url, only: url_chop_iorange, gt_equal
17058  use dc_present, only: present_and_true
17059  implicit none
17060  character(*), intent(in):: file, varname
17061  integer, intent(in):: time
17062  logical, intent(in), optional:: quiet
17063  integer, pointer :: array
17064  logical, intent(in), optional:: flag_mpi_split
17065  real(DP), intent(out), optional:: returned_time
17066  logical, intent(out), optional:: flag_time_exist
17067  logical, intent(out), optional:: err
17068  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
17069  character(STRING), pointer:: carray (:)
17070  character(STRING):: tname
17071  character(*), parameter :: subname = "HistoryGetInt0TimeI"
17072  interface
17073  subroutine historygetint0pointer(&
17074  & file, varname, array, range, quiet, &
17075  & flag_mpi_split, returned_time, flag_time_exist, err)
17076  use dc_types, only: dp
17077  character(*), intent(in):: file
17078  character(*), intent(in):: varname
17079  character(*), intent(in), optional:: range
17080  logical, intent(in), optional:: quiet
17081  logical, intent(in), optional:: flag_mpi_split
17082  real(DP), intent(out), optional:: returned_time
17083  logical, intent(out), optional:: flag_time_exist
17084  logical, intent(out), optional:: err
17085  integer, pointer :: array
17086  end subroutine historygetint0pointer
17087  end interface
17088  interface
17089  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17090  character(*), intent(in):: file
17091  character(*), intent(in):: varname
17092  character(*), intent(out):: url
17093  character(*), intent(in), optional:: range
17094  logical, intent(out), optional:: flag_time_exist
17095  character(*), intent(out), optional:: time_name
17096  logical, intent(out), optional:: err
17097  end subroutine lookup_growable_url
17098  end interface
17099  interface
17100  function file_rename_mpi( file ) result(result)
17101  use dc_types, only: string
17102  character(*), intent(in):: file
17103  character(STRING):: result
17104  end function file_rename_mpi
17105  end interface
17106  continue
17107  file_work = file
17108  if ( present_and_true( flag_mpi_split ) ) &
17109  & file_work = file_rename_mpi( file_work )
17110  call lookup_growable_url(file = file_work, varname = varname, &
17111  & url = url, &
17112  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17113  call url_chop_iorange( &
17114  & fullname = url, iorange = iorange, remainder = remainder )
17115  call split( str = iorange, carray = carray, sep = gt_equal )
17116  timevar_name = carray(1)
17117  deallocate( carray )
17118  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17119  call historygetint0pointer( file = file, &
17120  & varname = varname, array = array, &
17121  & range = time_range, quiet = quiet, &
17122  & flag_mpi_split = flag_mpi_split, &
17123  & returned_time = returned_time, &
17124  & flag_time_exist = flag_time_exist, &
17125  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint0pointertimer()

subroutine historygetint0pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9758 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9758  use dc_string, only: tochar, split
9759  use dc_types, only: string, dp, sp
9760  use dc_trace, only: dbgmessage
9761  use dc_url, only: url_chop_iorange, gt_equal
9762  use dc_present, only: present_and_true
9763  implicit none
9764  character(*), intent(in):: file, varname
9765  real(SP), intent(in):: time
9766  logical, intent(in), optional:: quiet
9767  integer, pointer :: array
9768  logical, intent(in), optional:: flag_mpi_split
9769  real(DP), intent(out), optional:: returned_time
9770  logical, intent(out), optional:: flag_time_exist
9771  logical, intent(out), optional:: err
9772  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9773  character(STRING), pointer:: carray (:)
9774  character(STRING):: tname
9775  character(*), parameter :: subname = "HistoryGetInt0TimeR"
9776  interface
9777  subroutine historygetint0pointer(&
9778  & file, varname, array, range, quiet, &
9779  & flag_mpi_split, returned_time, flag_time_exist, err)
9780  use dc_types, only: dp
9781  character(*), intent(in):: file
9782  character(*), intent(in):: varname
9783  character(*), intent(in), optional:: range
9784  logical, intent(in), optional:: quiet
9785  logical, intent(in), optional:: flag_mpi_split
9786  real(DP), intent(out), optional:: returned_time
9787  logical, intent(out), optional:: flag_time_exist
9788  logical, intent(out), optional:: err
9789  integer, pointer :: array
9790  end subroutine historygetint0pointer
9791  end interface
9792  interface
9793  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9794  character(*), intent(in):: file
9795  character(*), intent(in):: varname
9796  character(*), intent(out):: url
9797  character(*), intent(in), optional:: range
9798  logical, intent(out), optional:: flag_time_exist
9799  character(*), intent(out), optional:: time_name
9800  logical, intent(out), optional:: err
9801  end subroutine lookup_growable_url
9802  end interface
9803  interface
9804  function file_rename_mpi( file ) result(result)
9805  use dc_types, only: string
9806  character(*), intent(in):: file
9807  character(STRING):: result
9808  end function file_rename_mpi
9809  end interface
9810  continue
9811  file_work = file
9812  if ( present_and_true( flag_mpi_split ) ) &
9813  & file_work = file_rename_mpi( file_work )
9814  call lookup_growable_url(file = file_work, varname = varname, &
9815  & url = url, &
9816  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9817  call url_chop_iorange( &
9818  & fullname = url, iorange = iorange, remainder = remainder )
9819  call split( str = iorange, carray = carray, sep = gt_equal )
9820  timevar_name = carray(1)
9821  deallocate( carray )
9822  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9823  call historygetint0pointer( file = file, &
9824  & varname = varname, array = array, &
9825  & range = time_range, quiet = quiet, &
9826  & flag_mpi_split = flag_mpi_split, &
9827  & returned_time = returned_time, &
9828  & flag_time_exist = flag_time_exist, &
9829  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetint0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint0timed()

subroutine historygetint0timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12798 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

12798  use dc_string, only: tochar, split
12799  use dc_types, only: string, dp
12800  use dc_trace, only: dbgmessage
12801  use dc_url, only: url_chop_iorange, gt_equal
12802  use dc_present, only: present_and_true
12803  implicit none
12804  character(*), intent(in):: file, varname
12805  real(DP), intent(in):: time
12806  logical, intent(in), optional:: quiet
12807  integer, intent(out) :: array
12808  logical, intent(in), optional:: flag_mpi_split
12809  real(DP), intent(out), optional:: returned_time
12810  logical, intent(out), optional:: flag_time_exist
12811  logical, intent(out), optional:: err
12812  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12813  character(STRING), pointer:: carray (:)
12814  character(STRING):: tname
12815  character(*), parameter :: subname = "HistoryGetInt0TimeD"
12816  interface
12817  subroutine historygetint0(&
12818  & file, varname, array, range, quiet, &
12819  & flag_mpi_split, returned_time, flag_time_exist, err)
12820  use dc_types, only: dp
12821  character(*), intent(in):: file
12822  character(*), intent(in):: varname
12823  character(*), intent(in), optional:: range
12824  logical, intent(in), optional:: quiet
12825  logical, intent(in), optional:: flag_mpi_split
12826  real(DP), intent(out), optional:: returned_time
12827  logical, intent(out), optional:: flag_time_exist
12828  logical, intent(out), optional:: err
12829  integer, intent(out) :: array
12830  end subroutine historygetint0
12831  end interface
12832  interface
12833  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12834  character(*), intent(in):: file
12835  character(*), intent(in):: varname
12836  character(*), intent(out):: url
12837  character(*), intent(in), optional:: range
12838  logical, intent(out), optional:: flag_time_exist
12839  character(*), intent(out), optional:: time_name
12840  logical, intent(out), optional:: err
12841  end subroutine lookup_growable_url
12842  end interface
12843  interface
12844  function file_rename_mpi( file ) result(result)
12845  use dc_types, only: string
12846  character(*), intent(in):: file
12847  character(STRING):: result
12848  end function file_rename_mpi
12849  end interface
12850  continue
12851  file_work = file
12852  if ( present_and_true( flag_mpi_split ) ) &
12853  & file_work = file_rename_mpi( file_work )
12854  call lookup_growable_url(file = file_work, varname = varname, &
12855  & url = url, &
12856  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12857  call url_chop_iorange( &
12858  & fullname = url, iorange = iorange, remainder = remainder )
12859  call split( str = iorange, carray = carray, sep = gt_equal )
12860  timevar_name = carray(1)
12861  deallocate( carray )
12862  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12863  call historygetint0( file = file, &
12864  & varname = varname, array = array, &
12865  & range = time_range, quiet = quiet, &
12866  & flag_mpi_split = flag_mpi_split, &
12867  & returned_time = returned_time, &
12868  & flag_time_exist = flag_time_exist, &
12869  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint0timei()

subroutine historygetint0timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16446 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

16446  use dc_string, only: tochar, split
16447  use dc_types, only: string, dp
16448  use dc_trace, only: dbgmessage
16449  use dc_url, only: url_chop_iorange, gt_equal
16450  use dc_present, only: present_and_true
16451  implicit none
16452  character(*), intent(in):: file, varname
16453  integer, intent(in):: time
16454  logical, intent(in), optional:: quiet
16455  integer, intent(out) :: array
16456  logical, intent(in), optional:: flag_mpi_split
16457  real(DP), intent(out), optional:: returned_time
16458  logical, intent(out), optional:: flag_time_exist
16459  logical, intent(out), optional:: err
16460  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16461  character(STRING), pointer:: carray (:)
16462  character(STRING):: tname
16463  character(*), parameter :: subname = "HistoryGetInt0TimeI"
16464  interface
16465  subroutine historygetint0(&
16466  & file, varname, array, range, quiet, &
16467  & flag_mpi_split, returned_time, flag_time_exist, err)
16468  use dc_types, only: dp
16469  character(*), intent(in):: file
16470  character(*), intent(in):: varname
16471  character(*), intent(in), optional:: range
16472  logical, intent(in), optional:: quiet
16473  logical, intent(in), optional:: flag_mpi_split
16474  real(DP), intent(out), optional:: returned_time
16475  logical, intent(out), optional:: flag_time_exist
16476  logical, intent(out), optional:: err
16477  integer, intent(out) :: array
16478  end subroutine historygetint0
16479  end interface
16480  interface
16481  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16482  character(*), intent(in):: file
16483  character(*), intent(in):: varname
16484  character(*), intent(out):: url
16485  character(*), intent(in), optional:: range
16486  logical, intent(out), optional:: flag_time_exist
16487  character(*), intent(out), optional:: time_name
16488  logical, intent(out), optional:: err
16489  end subroutine lookup_growable_url
16490  end interface
16491  interface
16492  function file_rename_mpi( file ) result(result)
16493  use dc_types, only: string
16494  character(*), intent(in):: file
16495  character(STRING):: result
16496  end function file_rename_mpi
16497  end interface
16498  continue
16499  file_work = file
16500  if ( present_and_true( flag_mpi_split ) ) &
16501  & file_work = file_rename_mpi( file_work )
16502  call lookup_growable_url(file = file_work, varname = varname, &
16503  & url = url, &
16504  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16505  call url_chop_iorange( &
16506  & fullname = url, iorange = iorange, remainder = remainder )
16507  call split( str = iorange, carray = carray, sep = gt_equal )
16508  timevar_name = carray(1)
16509  deallocate( carray )
16510  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16511  call historygetint0( file = file, &
16512  & varname = varname, array = array, &
16513  & range = time_range, quiet = quiet, &
16514  & flag_mpi_split = flag_mpi_split, &
16515  & returned_time = returned_time, &
16516  & flag_time_exist = flag_time_exist, &
16517  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint0timer()

subroutine historygetint0timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9150 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9150  use dc_string, only: tochar, split
9151  use dc_types, only: string, dp, sp
9152  use dc_trace, only: dbgmessage
9153  use dc_url, only: url_chop_iorange, gt_equal
9154  use dc_present, only: present_and_true
9155  implicit none
9156  character(*), intent(in):: file, varname
9157  real(SP), intent(in):: time
9158  logical, intent(in), optional:: quiet
9159  integer, intent(out) :: array
9160  logical, intent(in), optional:: flag_mpi_split
9161  real(DP), intent(out), optional:: returned_time
9162  logical, intent(out), optional:: flag_time_exist
9163  logical, intent(out), optional:: err
9164  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9165  character(STRING), pointer:: carray (:)
9166  character(STRING):: tname
9167  character(*), parameter :: subname = "HistoryGetInt0TimeR"
9168  interface
9169  subroutine historygetint0(&
9170  & file, varname, array, range, quiet, &
9171  & flag_mpi_split, returned_time, flag_time_exist, err)
9172  use dc_types, only: dp
9173  character(*), intent(in):: file
9174  character(*), intent(in):: varname
9175  character(*), intent(in), optional:: range
9176  logical, intent(in), optional:: quiet
9177  logical, intent(in), optional:: flag_mpi_split
9178  real(DP), intent(out), optional:: returned_time
9179  logical, intent(out), optional:: flag_time_exist
9180  logical, intent(out), optional:: err
9181  integer, intent(out) :: array
9182  end subroutine historygetint0
9183  end interface
9184  interface
9185  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9186  character(*), intent(in):: file
9187  character(*), intent(in):: varname
9188  character(*), intent(out):: url
9189  character(*), intent(in), optional:: range
9190  logical, intent(out), optional:: flag_time_exist
9191  character(*), intent(out), optional:: time_name
9192  logical, intent(out), optional:: err
9193  end subroutine lookup_growable_url
9194  end interface
9195  interface
9196  function file_rename_mpi( file ) result(result)
9197  use dc_types, only: string
9198  character(*), intent(in):: file
9199  character(STRING):: result
9200  end function file_rename_mpi
9201  end interface
9202  continue
9203  file_work = file
9204  if ( present_and_true( flag_mpi_split ) ) &
9205  & file_work = file_rename_mpi( file_work )
9206  call lookup_growable_url(file = file_work, varname = varname, &
9207  & url = url, &
9208  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9209  call url_chop_iorange( &
9210  & fullname = url, iorange = iorange, remainder = remainder )
9211  call split( str = iorange, carray = carray, sep = gt_equal )
9212  timevar_name = carray(1)
9213  deallocate( carray )
9214  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9215  call historygetint0( file = file, &
9216  & varname = varname, array = array, &
9217  & range = time_range, quiet = quiet, &
9218  & flag_mpi_split = flag_mpi_split, &
9219  & returned_time = returned_time, &
9220  & flag_time_exist = flag_time_exist, &
9221  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetint0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint1()

subroutine historygetint1 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 3377 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetint1timed(), historygetint1timei(), and historygetint1timer().

3377  use gtdata_types, only: gt_variable
3378  use gtdata_generic, only: open, inquire, close, get
3379  use dc_string, only: tochar, split, joinchar, stoa
3382  use dc_regex, only: match
3383  use dc_types, only: string, dp
3384  use dc_message, only: messagenotify
3385  use dc_trace, only: dbgmessage
3388  implicit none
3389  character(*), intent(in):: file
3390  character(*), intent(in):: varname
3391  character(*), intent(in), optional:: range
3392  logical, intent(in), optional:: quiet
3393  logical, intent(in), optional:: flag_mpi_split
3394  real(DP), intent(out), optional:: returned_time ! データの時刻
3395  logical, intent(out), optional:: flag_time_exist
3396  logical, intent(out), optional:: err
3397  integer, intent(out) :: array(:)
3398  integer, allocatable :: array_tmp(:)
3399  integer:: array_allsize
3400  integer:: array_shape(1), data_shape(1), array_shape_check(1)
3401  integer:: allcount
3402  integer:: i, sd
3403  logical:: inq_err
3404  type(gt_variable):: var
3405  character(STRING):: file_work, url, actual_url
3406  integer:: rank, alldims, array_rank
3407  integer:: domain
3408  character(STRING):: tname
3409  integer:: stat
3410  character(STRING):: cause_c
3411  character(*), parameter :: subname = "HistoryGetInt1"
3412  interface
3413  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
3414  character(*), intent(in):: file
3415  character(*), intent(in):: varname
3416  character(*), intent(out):: url
3417  character(*), intent(in), optional:: range
3418  logical, intent(out), optional:: flag_time_exist
3419  character(*), intent(out), optional:: time_name
3420  logical, intent(out), optional:: err
3421  end subroutine lookup_growable_url
3422  end interface
3423  interface
3424  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
3425  use dc_types, only: dp
3426  character(*), intent(in) :: url ! 変数 URL
3427  character(*), intent(out), optional :: actual_url
3428  ! 正確な入出力範囲指定
3429  real(DP), intent(out), optional:: returned_time ! データの時刻
3430  character(*), intent(in), optional:: time_name ! 時刻次元の名称
3431  logical, intent(out), optional :: err ! エラーのフラグ
3432  end subroutine actual_iorange_dump
3433  end interface
3434  interface
3435  function file_rename_mpi( file ) result(result)
3436  use dc_types, only: string
3437  character(*), intent(in):: file
3438  character(STRING):: result
3439  end function file_rename_mpi
3440  end interface
3441  continue
3442  cause_c = ''
3443  stat = dc_noerr
3444  file_work = file
3445  array_shape = shape( array )
3446  array_allsize = size( array )
3447  ! ファイル名の変更 (MPI 用)
3448  ! Change filename (for MPI)
3449  !
3450  if ( present_and_true( flag_mpi_split ) ) &
3451  & file_work = file_rename_mpi( file_work )
3452  ! 最新時刻の URL 取得
3453  ! Get URL of latest time
3454  !
3455  call lookup_growable_url(file_work, varname, url, range, &
3456  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
3457  if ( present_and_true(err) ) then
3458  stat = gt_enoturl
3459  cause_c = url
3460  goto 999
3461  end if
3462  ! ファイルオープン
3463  ! File open
3464  call open( var, url, err = err )
3465  if ( present_and_true(err) ) then
3466  stat = gt_enoturl
3467  cause_c = url
3468  goto 999
3469  end if
3470  !-------------------------------------------------------------------
3471  ! 配列形状のチェック
3472  ! Check array shape
3473  !-------------------------------------------------------------------
3474  ! 入力ファイル中のデータの次元数
3475  ! Get size of dimesions in data of an input file
3476  !
3477  call inquire( var = var, & ! (in)
3478  & rank = rank, alldims = alldims ) ! (out)
3479  ! 引数の次元数のチェック (縮退されている場合には減らす)
3480  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
3481  array_rank = 1
3482  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
3483  ! 次元数の比較
3484  ! Compare sizes of dimensions
3485  !
3486  if ( .not. 1 == rank .and. .not. array_rank == rank ) then
3487  if ( .not. present_and_true(quiet) ) then
3488  call messagenotify('W', subname, &
3489  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
3490  & i = (/rank, 1/), c1 = trim(url) )
3491  end if
3492  stat = gt_erankmismatch
3493  cause_c = 'array'
3494  goto 999
3495  end if
3496  ! 入力ファイル中のデータの配列形状取得
3497  ! Get shape of data in an input file
3498  call inquire( var = var , dimord = 1, & ! (in)
3499  & allcount = allcount, err = inq_err ) ! (out)
3500  if ( .not. inq_err ) then
3501  data_shape(1) = allcount
3502  else
3503  data_shape(1) = 1
3504  end if
3505  ! 引数の配列形状整形
3506  ! Arrange shape of an argument
3507  !
3508  array_shape_check = array_shape
3509  sd = 1
3510  do i = 1, 1 - 1
3511  if ( array_shape_check(sd) == 1 ) then
3512  array_shape_check(sd:1) = cshift( array_shape_check(sd:1), 1, 1 )
3513  else
3514  sd = sd + 1
3515  end if
3516  end do
3517  ! 配列形状の比較
3518  ! Compare shapes
3519  !
3520  if ( .not. all( array_shape_check == data_shape ) ) then
3521  if ( .not. present_and_true(quiet) ) then
3522  call messagenotify('W', subname, &
3523  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
3524  & c1 = trim( url ), &
3525  & c2 = trim( tochar( data_shape(1:rank) ) ), &
3526  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
3527  end if
3528  stat = gt_eargsizemismatch
3529  cause_c = 'array'
3530  goto 999
3531  end if
3532  !-------------------------------------
3533  ! データ取得
3534  ! Get data
3535  call inquire( var = var, & ! (in)
3536  & size = domain ) ! (out)
3537  if ( allocated( array_tmp ) ) deallocate( array_tmp )
3538  allocate( array_tmp(array_allsize) )
3539  call get( var, array_tmp, domain )
3540  array = reshape( array_tmp, array_shape )
3541  deallocate( array_tmp )
3542  call close( var )
3543  !-------------------------------------
3544  ! データファイル名と切り出し範囲の印字
3545  ! Print data filename and clipping range
3546  call actual_iorange_dump(url, & ! (in)
3547  & actual_url, returned_time, & ! (out) optional
3548  & time_name = tname, & ! (in) optional
3549  & err = err) ! (out) optional
3550  if ( .not. present_and_true(quiet) ) then
3551  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
3552  end if
3553 999 continue
3554  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint1pointer()

subroutine historygetint1pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6164 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetint1pointertimed(), historygetint1pointertimei(), and historygetint1pointertimer().

6164  use gtdata_types, only: gt_variable
6165  use gtdata_generic, only: open, inquire, close, get
6166  use dc_string, only: tochar
6168  use dc_types, only: string, dp
6169  use dc_message, only: messagenotify
6170  use dc_trace, only: dbgmessage
6171  implicit none
6172  character(*), intent(in):: file
6173  character(*), intent(in):: varname
6174  character(*), intent(in), optional:: range
6175  logical, intent(in), optional:: quiet
6176  logical, intent(in), optional:: flag_mpi_split
6177  real(DP), intent(out), optional:: returned_time ! データの時刻
6178  logical, intent(out), optional:: flag_time_exist
6179  logical, intent(out), optional:: err
6180  integer:: domain
6181  integer, pointer :: array(:) ! (out)
6182  integer, target :: array_tmp(1)
6183  type(gt_variable):: var
6184  character(STRING):: file_work, url, actual_url
6185  character(STRING):: tname
6186  character(*), parameter :: subname = "HistoryGetInt1Pointer"
6187  interface
6188  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6189  character(*), intent(in):: file
6190  character(*), intent(in):: varname
6191  character(*), intent(out):: url
6192  character(*), intent(in), optional:: range
6193  logical, intent(out), optional:: flag_time_exist
6194  character(*), intent(out), optional:: time_name
6195  logical, intent(out), optional:: err
6196  end subroutine lookup_growable_url
6197  end interface
6198  interface
6199  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6200  use dc_types, only: dp
6201  character(*), intent(in) :: url ! 変数 URL
6202  character(*), intent(out), optional :: actual_url
6203  ! 正確な入出力範囲指定
6204  real(DP), intent(out), optional:: returned_time ! データの時刻
6205  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6206  logical, intent(out), optional :: err ! エラーのフラグ
6207  end subroutine actual_iorange_dump
6208  end interface
6209  interface
6210  function file_rename_mpi( file ) result(result)
6211  use dc_types, only: string
6212  character(*), intent(in):: file
6213  character(STRING):: result
6214  end function file_rename_mpi
6215  end interface
6216  continue
6217  file_work = file
6218  ! ファイル名の変更 (MPI 用)
6219  ! Change filename (for MPI)
6220  !
6221  if ( present_and_true( flag_mpi_split ) ) &
6222  & file_work = file_rename_mpi( file_work )
6223  ! 必要な情報を gtool 変数化
6224  !
6225  call lookup_growable_url(file_work, varname, url, range, &
6226  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6227  call dbgmessage('@ url =%c', c1=trim(url))
6228  ! いよいよデータ取得
6229  !
6230  call open(var, url, err)
6231  call get(var, array, err)
6232  call close(var, err)
6233  call actual_iorange_dump(url, & ! (in)
6234  & actual_url, returned_time, & ! (out) optional
6235  & time_name = tname, & ! (in) optional
6236  & err = err) ! (out) optional
6237  if ( .not. present_and_true(quiet) ) then
6238  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6239  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint1pointertimed()

subroutine historygetint1pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13482 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13482  use dc_string, only: tochar, split
13483  use dc_types, only: string, dp
13484  use dc_trace, only: dbgmessage
13485  use dc_url, only: url_chop_iorange, gt_equal
13486  use dc_present, only: present_and_true
13487  implicit none
13488  character(*), intent(in):: file, varname
13489  real(DP), intent(in):: time
13490  logical, intent(in), optional:: quiet
13491  integer, pointer :: array(:)
13492  logical, intent(in), optional:: flag_mpi_split
13493  real(DP), intent(out), optional:: returned_time
13494  logical, intent(out), optional:: flag_time_exist
13495  logical, intent(out), optional:: err
13496  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13497  character(STRING), pointer:: carray (:)
13498  character(STRING):: tname
13499  character(*), parameter :: subname = "HistoryGetInt1TimeD"
13500  interface
13501  subroutine historygetint1pointer(&
13502  & file, varname, array, range, quiet, &
13503  & flag_mpi_split, returned_time, flag_time_exist, err)
13504  use dc_types, only: dp
13505  character(*), intent(in):: file
13506  character(*), intent(in):: varname
13507  character(*), intent(in), optional:: range
13508  logical, intent(in), optional:: quiet
13509  logical, intent(in), optional:: flag_mpi_split
13510  real(DP), intent(out), optional:: returned_time
13511  logical, intent(out), optional:: flag_time_exist
13512  logical, intent(out), optional:: err
13513  integer, pointer :: array(:)
13514  end subroutine historygetint1pointer
13515  end interface
13516  interface
13517  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13518  character(*), intent(in):: file
13519  character(*), intent(in):: varname
13520  character(*), intent(out):: url
13521  character(*), intent(in), optional:: range
13522  logical, intent(out), optional:: flag_time_exist
13523  character(*), intent(out), optional:: time_name
13524  logical, intent(out), optional:: err
13525  end subroutine lookup_growable_url
13526  end interface
13527  interface
13528  function file_rename_mpi( file ) result(result)
13529  use dc_types, only: string
13530  character(*), intent(in):: file
13531  character(STRING):: result
13532  end function file_rename_mpi
13533  end interface
13534  continue
13535  file_work = file
13536  if ( present_and_true( flag_mpi_split ) ) &
13537  & file_work = file_rename_mpi( file_work )
13538  call lookup_growable_url(file = file_work, varname = varname, &
13539  & url = url, &
13540  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13541  call url_chop_iorange( &
13542  & fullname = url, iorange = iorange, remainder = remainder )
13543  call split( str = iorange, carray = carray, sep = gt_equal )
13544  timevar_name = carray(1)
13545  deallocate( carray )
13546  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13547  call historygetint1pointer( file = file, &
13548  & varname = varname, array = array, &
13549  & range = time_range, quiet = quiet, &
13550  & flag_mpi_split = flag_mpi_split, &
13551  & returned_time = returned_time, &
13552  & flag_time_exist = flag_time_exist, &
13553  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint1pointertimei()

subroutine historygetint1pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 17130 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

17130  use dc_string, only: tochar, split
17131  use dc_types, only: string, dp
17132  use dc_trace, only: dbgmessage
17133  use dc_url, only: url_chop_iorange, gt_equal
17134  use dc_present, only: present_and_true
17135  implicit none
17136  character(*), intent(in):: file, varname
17137  integer, intent(in):: time
17138  logical, intent(in), optional:: quiet
17139  integer, pointer :: array(:)
17140  logical, intent(in), optional:: flag_mpi_split
17141  real(DP), intent(out), optional:: returned_time
17142  logical, intent(out), optional:: flag_time_exist
17143  logical, intent(out), optional:: err
17144  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
17145  character(STRING), pointer:: carray (:)
17146  character(STRING):: tname
17147  character(*), parameter :: subname = "HistoryGetInt1TimeI"
17148  interface
17149  subroutine historygetint1pointer(&
17150  & file, varname, array, range, quiet, &
17151  & flag_mpi_split, returned_time, flag_time_exist, err)
17152  use dc_types, only: dp
17153  character(*), intent(in):: file
17154  character(*), intent(in):: varname
17155  character(*), intent(in), optional:: range
17156  logical, intent(in), optional:: quiet
17157  logical, intent(in), optional:: flag_mpi_split
17158  real(DP), intent(out), optional:: returned_time
17159  logical, intent(out), optional:: flag_time_exist
17160  logical, intent(out), optional:: err
17161  integer, pointer :: array(:)
17162  end subroutine historygetint1pointer
17163  end interface
17164  interface
17165  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17166  character(*), intent(in):: file
17167  character(*), intent(in):: varname
17168  character(*), intent(out):: url
17169  character(*), intent(in), optional:: range
17170  logical, intent(out), optional:: flag_time_exist
17171  character(*), intent(out), optional:: time_name
17172  logical, intent(out), optional:: err
17173  end subroutine lookup_growable_url
17174  end interface
17175  interface
17176  function file_rename_mpi( file ) result(result)
17177  use dc_types, only: string
17178  character(*), intent(in):: file
17179  character(STRING):: result
17180  end function file_rename_mpi
17181  end interface
17182  continue
17183  file_work = file
17184  if ( present_and_true( flag_mpi_split ) ) &
17185  & file_work = file_rename_mpi( file_work )
17186  call lookup_growable_url(file = file_work, varname = varname, &
17187  & url = url, &
17188  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17189  call url_chop_iorange( &
17190  & fullname = url, iorange = iorange, remainder = remainder )
17191  call split( str = iorange, carray = carray, sep = gt_equal )
17192  timevar_name = carray(1)
17193  deallocate( carray )
17194  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17195  call historygetint1pointer( file = file, &
17196  & varname = varname, array = array, &
17197  & range = time_range, quiet = quiet, &
17198  & flag_mpi_split = flag_mpi_split, &
17199  & returned_time = returned_time, &
17200  & flag_time_exist = flag_time_exist, &
17201  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint1pointertimer()

subroutine historygetint1pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9834 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9834  use dc_string, only: tochar, split
9835  use dc_types, only: string, dp, sp
9836  use dc_trace, only: dbgmessage
9837  use dc_url, only: url_chop_iorange, gt_equal
9838  use dc_present, only: present_and_true
9839  implicit none
9840  character(*), intent(in):: file, varname
9841  real(SP), intent(in):: time
9842  logical, intent(in), optional:: quiet
9843  integer, pointer :: array(:)
9844  logical, intent(in), optional:: flag_mpi_split
9845  real(DP), intent(out), optional:: returned_time
9846  logical, intent(out), optional:: flag_time_exist
9847  logical, intent(out), optional:: err
9848  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9849  character(STRING), pointer:: carray (:)
9850  character(STRING):: tname
9851  character(*), parameter :: subname = "HistoryGetInt1TimeR"
9852  interface
9853  subroutine historygetint1pointer(&
9854  & file, varname, array, range, quiet, &
9855  & flag_mpi_split, returned_time, flag_time_exist, err)
9856  use dc_types, only: dp
9857  character(*), intent(in):: file
9858  character(*), intent(in):: varname
9859  character(*), intent(in), optional:: range
9860  logical, intent(in), optional:: quiet
9861  logical, intent(in), optional:: flag_mpi_split
9862  real(DP), intent(out), optional:: returned_time
9863  logical, intent(out), optional:: flag_time_exist
9864  logical, intent(out), optional:: err
9865  integer, pointer :: array(:)
9866  end subroutine historygetint1pointer
9867  end interface
9868  interface
9869  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9870  character(*), intent(in):: file
9871  character(*), intent(in):: varname
9872  character(*), intent(out):: url
9873  character(*), intent(in), optional:: range
9874  logical, intent(out), optional:: flag_time_exist
9875  character(*), intent(out), optional:: time_name
9876  logical, intent(out), optional:: err
9877  end subroutine lookup_growable_url
9878  end interface
9879  interface
9880  function file_rename_mpi( file ) result(result)
9881  use dc_types, only: string
9882  character(*), intent(in):: file
9883  character(STRING):: result
9884  end function file_rename_mpi
9885  end interface
9886  continue
9887  file_work = file
9888  if ( present_and_true( flag_mpi_split ) ) &
9889  & file_work = file_rename_mpi( file_work )
9890  call lookup_growable_url(file = file_work, varname = varname, &
9891  & url = url, &
9892  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9893  call url_chop_iorange( &
9894  & fullname = url, iorange = iorange, remainder = remainder )
9895  call split( str = iorange, carray = carray, sep = gt_equal )
9896  timevar_name = carray(1)
9897  deallocate( carray )
9898  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9899  call historygetint1pointer( file = file, &
9900  & varname = varname, array = array, &
9901  & range = time_range, quiet = quiet, &
9902  & flag_mpi_split = flag_mpi_split, &
9903  & returned_time = returned_time, &
9904  & flag_time_exist = flag_time_exist, &
9905  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetint1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint1timed()

subroutine historygetint1timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12874 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

12874  use dc_string, only: tochar, split
12875  use dc_types, only: string, dp
12876  use dc_trace, only: dbgmessage
12877  use dc_url, only: url_chop_iorange, gt_equal
12878  use dc_present, only: present_and_true
12879  implicit none
12880  character(*), intent(in):: file, varname
12881  real(DP), intent(in):: time
12882  logical, intent(in), optional:: quiet
12883  integer, intent(out) :: array(:)
12884  logical, intent(in), optional:: flag_mpi_split
12885  real(DP), intent(out), optional:: returned_time
12886  logical, intent(out), optional:: flag_time_exist
12887  logical, intent(out), optional:: err
12888  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12889  character(STRING), pointer:: carray (:)
12890  character(STRING):: tname
12891  character(*), parameter :: subname = "HistoryGetInt1TimeD"
12892  interface
12893  subroutine historygetint1(&
12894  & file, varname, array, range, quiet, &
12895  & flag_mpi_split, returned_time, flag_time_exist, err)
12896  use dc_types, only: dp
12897  character(*), intent(in):: file
12898  character(*), intent(in):: varname
12899  character(*), intent(in), optional:: range
12900  logical, intent(in), optional:: quiet
12901  logical, intent(in), optional:: flag_mpi_split
12902  real(DP), intent(out), optional:: returned_time
12903  logical, intent(out), optional:: flag_time_exist
12904  logical, intent(out), optional:: err
12905  integer, intent(out) :: array(:)
12906  end subroutine historygetint1
12907  end interface
12908  interface
12909  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12910  character(*), intent(in):: file
12911  character(*), intent(in):: varname
12912  character(*), intent(out):: url
12913  character(*), intent(in), optional:: range
12914  logical, intent(out), optional:: flag_time_exist
12915  character(*), intent(out), optional:: time_name
12916  logical, intent(out), optional:: err
12917  end subroutine lookup_growable_url
12918  end interface
12919  interface
12920  function file_rename_mpi( file ) result(result)
12921  use dc_types, only: string
12922  character(*), intent(in):: file
12923  character(STRING):: result
12924  end function file_rename_mpi
12925  end interface
12926  continue
12927  file_work = file
12928  if ( present_and_true( flag_mpi_split ) ) &
12929  & file_work = file_rename_mpi( file_work )
12930  call lookup_growable_url(file = file_work, varname = varname, &
12931  & url = url, &
12932  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12933  call url_chop_iorange( &
12934  & fullname = url, iorange = iorange, remainder = remainder )
12935  call split( str = iorange, carray = carray, sep = gt_equal )
12936  timevar_name = carray(1)
12937  deallocate( carray )
12938  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12939  call historygetint1( file = file, &
12940  & varname = varname, array = array, &
12941  & range = time_range, quiet = quiet, &
12942  & flag_mpi_split = flag_mpi_split, &
12943  & returned_time = returned_time, &
12944  & flag_time_exist = flag_time_exist, &
12945  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetint1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint1timei()

subroutine historygetint1timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16522 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

16522  use dc_string, only: tochar, split
16523  use dc_types, only: string, dp
16524  use dc_trace, only: dbgmessage
16525  use dc_url, only: url_chop_iorange, gt_equal
16526  use dc_present, only: present_and_true
16527  implicit none
16528  character(*), intent(in):: file, varname
16529  integer, intent(in):: time
16530  logical, intent(in), optional:: quiet
16531  integer, intent(out) :: array(:)
16532  logical, intent(in), optional:: flag_mpi_split
16533  real(DP), intent(out), optional:: returned_time
16534  logical, intent(out), optional:: flag_time_exist
16535  logical, intent(out), optional:: err
16536  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16537  character(STRING), pointer:: carray (:)
16538  character(STRING):: tname
16539  character(*), parameter :: subname = "HistoryGetInt1TimeI"
16540  interface
16541  subroutine historygetint1(&
16542  & file, varname, array, range, quiet, &
16543  & flag_mpi_split, returned_time, flag_time_exist, err)
16544  use dc_types, only: dp
16545  character(*), intent(in):: file
16546  character(*), intent(in):: varname
16547  character(*), intent(in), optional:: range
16548  logical, intent(in), optional:: quiet
16549  logical, intent(in), optional:: flag_mpi_split
16550  real(DP), intent(out), optional:: returned_time
16551  logical, intent(out), optional:: flag_time_exist
16552  logical, intent(out), optional:: err
16553  integer, intent(out) :: array(:)
16554  end subroutine historygetint1
16555  end interface
16556  interface
16557  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16558  character(*), intent(in):: file
16559  character(*), intent(in):: varname
16560  character(*), intent(out):: url
16561  character(*), intent(in), optional:: range
16562  logical, intent(out), optional:: flag_time_exist
16563  character(*), intent(out), optional:: time_name
16564  logical, intent(out), optional:: err
16565  end subroutine lookup_growable_url
16566  end interface
16567  interface
16568  function file_rename_mpi( file ) result(result)
16569  use dc_types, only: string
16570  character(*), intent(in):: file
16571  character(STRING):: result
16572  end function file_rename_mpi
16573  end interface
16574  continue
16575  file_work = file
16576  if ( present_and_true( flag_mpi_split ) ) &
16577  & file_work = file_rename_mpi( file_work )
16578  call lookup_growable_url(file = file_work, varname = varname, &
16579  & url = url, &
16580  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16581  call url_chop_iorange( &
16582  & fullname = url, iorange = iorange, remainder = remainder )
16583  call split( str = iorange, carray = carray, sep = gt_equal )
16584  timevar_name = carray(1)
16585  deallocate( carray )
16586  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16587  call historygetint1( file = file, &
16588  & varname = varname, array = array, &
16589  & range = time_range, quiet = quiet, &
16590  & flag_mpi_split = flag_mpi_split, &
16591  & returned_time = returned_time, &
16592  & flag_time_exist = flag_time_exist, &
16593  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetint1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint1timer()

subroutine historygetint1timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9226 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9226  use dc_string, only: tochar, split
9227  use dc_types, only: string, dp, sp
9228  use dc_trace, only: dbgmessage
9229  use dc_url, only: url_chop_iorange, gt_equal
9230  use dc_present, only: present_and_true
9231  implicit none
9232  character(*), intent(in):: file, varname
9233  real(SP), intent(in):: time
9234  logical, intent(in), optional:: quiet
9235  integer, intent(out) :: array(:)
9236  logical, intent(in), optional:: flag_mpi_split
9237  real(DP), intent(out), optional:: returned_time
9238  logical, intent(out), optional:: flag_time_exist
9239  logical, intent(out), optional:: err
9240  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9241  character(STRING), pointer:: carray (:)
9242  character(STRING):: tname
9243  character(*), parameter :: subname = "HistoryGetInt1TimeR"
9244  interface
9245  subroutine historygetint1(&
9246  & file, varname, array, range, quiet, &
9247  & flag_mpi_split, returned_time, flag_time_exist, err)
9248  use dc_types, only: dp
9249  character(*), intent(in):: file
9250  character(*), intent(in):: varname
9251  character(*), intent(in), optional:: range
9252  logical, intent(in), optional:: quiet
9253  logical, intent(in), optional:: flag_mpi_split
9254  real(DP), intent(out), optional:: returned_time
9255  logical, intent(out), optional:: flag_time_exist
9256  logical, intent(out), optional:: err
9257  integer, intent(out) :: array(:)
9258  end subroutine historygetint1
9259  end interface
9260  interface
9261  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9262  character(*), intent(in):: file
9263  character(*), intent(in):: varname
9264  character(*), intent(out):: url
9265  character(*), intent(in), optional:: range
9266  logical, intent(out), optional:: flag_time_exist
9267  character(*), intent(out), optional:: time_name
9268  logical, intent(out), optional:: err
9269  end subroutine lookup_growable_url
9270  end interface
9271  interface
9272  function file_rename_mpi( file ) result(result)
9273  use dc_types, only: string
9274  character(*), intent(in):: file
9275  character(STRING):: result
9276  end function file_rename_mpi
9277  end interface
9278  continue
9279  file_work = file
9280  if ( present_and_true( flag_mpi_split ) ) &
9281  & file_work = file_rename_mpi( file_work )
9282  call lookup_growable_url(file = file_work, varname = varname, &
9283  & url = url, &
9284  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9285  call url_chop_iorange( &
9286  & fullname = url, iorange = iorange, remainder = remainder )
9287  call split( str = iorange, carray = carray, sep = gt_equal )
9288  timevar_name = carray(1)
9289  deallocate( carray )
9290  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9291  call historygetint1( file = file, &
9292  & varname = varname, array = array, &
9293  & range = time_range, quiet = quiet, &
9294  & flag_mpi_split = flag_mpi_split, &
9295  & returned_time = returned_time, &
9296  & flag_time_exist = flag_time_exist, &
9297  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetint1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint2()

subroutine historygetint2 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 3558 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetint2timed(), historygetint2timei(), and historygetint2timer().

3558  use gtdata_types, only: gt_variable
3559  use gtdata_generic, only: open, inquire, close, get
3560  use dc_string, only: tochar, split, joinchar, stoa
3563  use dc_regex, only: match
3564  use dc_types, only: string, dp
3565  use dc_message, only: messagenotify
3566  use dc_trace, only: dbgmessage
3569  implicit none
3570  character(*), intent(in):: file
3571  character(*), intent(in):: varname
3572  character(*), intent(in), optional:: range
3573  logical, intent(in), optional:: quiet
3574  logical, intent(in), optional:: flag_mpi_split
3575  real(DP), intent(out), optional:: returned_time ! データの時刻
3576  logical, intent(out), optional:: flag_time_exist
3577  logical, intent(out), optional:: err
3578  integer, intent(out) :: array(:,:)
3579  integer, allocatable :: array_tmp(:)
3580  integer:: array_allsize
3581  integer:: array_shape(2), data_shape(2), array_shape_check(2)
3582  integer:: allcount
3583  integer:: i, sd
3584  logical:: inq_err
3585  type(gt_variable):: var
3586  character(STRING):: file_work, url, actual_url
3587  integer:: rank, alldims, array_rank
3588  integer:: domain
3589  character(STRING):: tname
3590  integer:: stat
3591  character(STRING):: cause_c
3592  character(*), parameter :: subname = "HistoryGetInt2"
3593  interface
3594  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
3595  character(*), intent(in):: file
3596  character(*), intent(in):: varname
3597  character(*), intent(out):: url
3598  character(*), intent(in), optional:: range
3599  logical, intent(out), optional:: flag_time_exist
3600  character(*), intent(out), optional:: time_name
3601  logical, intent(out), optional:: err
3602  end subroutine lookup_growable_url
3603  end interface
3604  interface
3605  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
3606  use dc_types, only: dp
3607  character(*), intent(in) :: url ! 変数 URL
3608  character(*), intent(out), optional :: actual_url
3609  ! 正確な入出力範囲指定
3610  real(DP), intent(out), optional:: returned_time ! データの時刻
3611  character(*), intent(in), optional:: time_name ! 時刻次元の名称
3612  logical, intent(out), optional :: err ! エラーのフラグ
3613  end subroutine actual_iorange_dump
3614  end interface
3615  interface
3616  function file_rename_mpi( file ) result(result)
3617  use dc_types, only: string
3618  character(*), intent(in):: file
3619  character(STRING):: result
3620  end function file_rename_mpi
3621  end interface
3622  continue
3623  cause_c = ''
3624  stat = dc_noerr
3625  file_work = file
3626  array_shape = shape( array )
3627  array_allsize = size( array )
3628  ! ファイル名の変更 (MPI 用)
3629  ! Change filename (for MPI)
3630  !
3631  if ( present_and_true( flag_mpi_split ) ) &
3632  & file_work = file_rename_mpi( file_work )
3633  ! 最新時刻の URL 取得
3634  ! Get URL of latest time
3635  !
3636  call lookup_growable_url(file_work, varname, url, range, &
3637  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
3638  if ( present_and_true(err) ) then
3639  stat = gt_enoturl
3640  cause_c = url
3641  goto 999
3642  end if
3643  ! ファイルオープン
3644  ! File open
3645  call open( var, url, err = err )
3646  if ( present_and_true(err) ) then
3647  stat = gt_enoturl
3648  cause_c = url
3649  goto 999
3650  end if
3651  !-------------------------------------------------------------------
3652  ! 配列形状のチェック
3653  ! Check array shape
3654  !-------------------------------------------------------------------
3655  ! 入力ファイル中のデータの次元数
3656  ! Get size of dimesions in data of an input file
3657  !
3658  call inquire( var = var, & ! (in)
3659  & rank = rank, alldims = alldims ) ! (out)
3660  ! 引数の次元数のチェック (縮退されている場合には減らす)
3661  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
3662  array_rank = 2
3663  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
3664  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
3665  ! 次元数の比較
3666  ! Compare sizes of dimensions
3667  !
3668  if ( .not. 2 == rank .and. .not. array_rank == rank ) then
3669  if ( .not. present_and_true(quiet) ) then
3670  call messagenotify('W', subname, &
3671  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
3672  & i = (/rank, 2/), c1 = trim(url) )
3673  end if
3674  stat = gt_erankmismatch
3675  cause_c = 'array'
3676  goto 999
3677  end if
3678  ! 入力ファイル中のデータの配列形状取得
3679  ! Get shape of data in an input file
3680  call inquire( var = var , dimord = 1, & ! (in)
3681  & allcount = allcount, err = inq_err ) ! (out)
3682  if ( .not. inq_err ) then
3683  data_shape(1) = allcount
3684  else
3685  data_shape(1) = 1
3686  end if
3687  call inquire( var = var , dimord = 2, & ! (in)
3688  & allcount = allcount, err = inq_err ) ! (out)
3689  if ( .not. inq_err ) then
3690  data_shape(2) = allcount
3691  else
3692  data_shape(2) = 1
3693  end if
3694  ! 引数の配列形状整形
3695  ! Arrange shape of an argument
3696  !
3697  array_shape_check = array_shape
3698  sd = 1
3699  do i = 1, 2 - 1
3700  if ( array_shape_check(sd) == 1 ) then
3701  array_shape_check(sd:2) = cshift( array_shape_check(sd:2), 1, 1 )
3702  else
3703  sd = sd + 1
3704  end if
3705  end do
3706  ! 配列形状の比較
3707  ! Compare shapes
3708  !
3709  if ( .not. all( array_shape_check == data_shape ) ) then
3710  if ( .not. present_and_true(quiet) ) then
3711  call messagenotify('W', subname, &
3712  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
3713  & c1 = trim( url ), &
3714  & c2 = trim( tochar( data_shape(1:rank) ) ), &
3715  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
3716  end if
3717  stat = gt_eargsizemismatch
3718  cause_c = 'array'
3719  goto 999
3720  end if
3721  !-------------------------------------
3722  ! データ取得
3723  ! Get data
3724  call inquire( var = var, & ! (in)
3725  & size = domain ) ! (out)
3726  if ( allocated( array_tmp ) ) deallocate( array_tmp )
3727  allocate( array_tmp(array_allsize) )
3728  call get( var, array_tmp, domain )
3729  array = reshape( array_tmp, array_shape )
3730  deallocate( array_tmp )
3731  call close( var )
3732  !-------------------------------------
3733  ! データファイル名と切り出し範囲の印字
3734  ! Print data filename and clipping range
3735  call actual_iorange_dump(url, & ! (in)
3736  & actual_url, returned_time, & ! (out) optional
3737  & time_name = tname, & ! (in) optional
3738  & err = err) ! (out) optional
3739  if ( .not. present_and_true(quiet) ) then
3740  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
3741  end if
3742 999 continue
3743  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint2pointer()

subroutine historygetint2pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6243 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetint2pointertimed(), historygetint2pointertimei(), and historygetint2pointertimer().

6243  use gtdata_types, only: gt_variable
6244  use gtdata_generic, only: open, inquire, close, get
6245  use dc_string, only: tochar
6247  use dc_types, only: string, dp
6248  use dc_message, only: messagenotify
6249  use dc_trace, only: dbgmessage
6250  implicit none
6251  character(*), intent(in):: file
6252  character(*), intent(in):: varname
6253  character(*), intent(in), optional:: range
6254  logical, intent(in), optional:: quiet
6255  logical, intent(in), optional:: flag_mpi_split
6256  real(DP), intent(out), optional:: returned_time ! データの時刻
6257  logical, intent(out), optional:: flag_time_exist
6258  logical, intent(out), optional:: err
6259  integer:: domain
6260  integer, pointer :: array(:,:) ! (out)
6261  integer, target :: array_tmp(1)
6262  type(gt_variable):: var
6263  character(STRING):: file_work, url, actual_url
6264  character(STRING):: tname
6265  character(*), parameter :: subname = "HistoryGetInt2Pointer"
6266  interface
6267  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6268  character(*), intent(in):: file
6269  character(*), intent(in):: varname
6270  character(*), intent(out):: url
6271  character(*), intent(in), optional:: range
6272  logical, intent(out), optional:: flag_time_exist
6273  character(*), intent(out), optional:: time_name
6274  logical, intent(out), optional:: err
6275  end subroutine lookup_growable_url
6276  end interface
6277  interface
6278  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6279  use dc_types, only: dp
6280  character(*), intent(in) :: url ! 変数 URL
6281  character(*), intent(out), optional :: actual_url
6282  ! 正確な入出力範囲指定
6283  real(DP), intent(out), optional:: returned_time ! データの時刻
6284  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6285  logical, intent(out), optional :: err ! エラーのフラグ
6286  end subroutine actual_iorange_dump
6287  end interface
6288  interface
6289  function file_rename_mpi( file ) result(result)
6290  use dc_types, only: string
6291  character(*), intent(in):: file
6292  character(STRING):: result
6293  end function file_rename_mpi
6294  end interface
6295  continue
6296  file_work = file
6297  ! ファイル名の変更 (MPI 用)
6298  ! Change filename (for MPI)
6299  !
6300  if ( present_and_true( flag_mpi_split ) ) &
6301  & file_work = file_rename_mpi( file_work )
6302  ! 必要な情報を gtool 変数化
6303  !
6304  call lookup_growable_url(file_work, varname, url, range, &
6305  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6306  call dbgmessage('@ url =%c', c1=trim(url))
6307  ! いよいよデータ取得
6308  !
6309  call open(var, url, err)
6310  call get(var, array, err)
6311  call close(var, err)
6312  call actual_iorange_dump(url, & ! (in)
6313  & actual_url, returned_time, & ! (out) optional
6314  & time_name = tname, & ! (in) optional
6315  & err = err) ! (out) optional
6316  if ( .not. present_and_true(quiet) ) then
6317  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6318  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint2pointertimed()

subroutine historygetint2pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13558 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13558  use dc_string, only: tochar, split
13559  use dc_types, only: string, dp
13560  use dc_trace, only: dbgmessage
13561  use dc_url, only: url_chop_iorange, gt_equal
13562  use dc_present, only: present_and_true
13563  implicit none
13564  character(*), intent(in):: file, varname
13565  real(DP), intent(in):: time
13566  logical, intent(in), optional:: quiet
13567  integer, pointer :: array(:,:)
13568  logical, intent(in), optional:: flag_mpi_split
13569  real(DP), intent(out), optional:: returned_time
13570  logical, intent(out), optional:: flag_time_exist
13571  logical, intent(out), optional:: err
13572  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13573  character(STRING), pointer:: carray (:)
13574  character(STRING):: tname
13575  character(*), parameter :: subname = "HistoryGetInt2TimeD"
13576  interface
13577  subroutine historygetint2pointer(&
13578  & file, varname, array, range, quiet, &
13579  & flag_mpi_split, returned_time, flag_time_exist, err)
13580  use dc_types, only: dp
13581  character(*), intent(in):: file
13582  character(*), intent(in):: varname
13583  character(*), intent(in), optional:: range
13584  logical, intent(in), optional:: quiet
13585  logical, intent(in), optional:: flag_mpi_split
13586  real(DP), intent(out), optional:: returned_time
13587  logical, intent(out), optional:: flag_time_exist
13588  logical, intent(out), optional:: err
13589  integer, pointer :: array(:,:)
13590  end subroutine historygetint2pointer
13591  end interface
13592  interface
13593  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13594  character(*), intent(in):: file
13595  character(*), intent(in):: varname
13596  character(*), intent(out):: url
13597  character(*), intent(in), optional:: range
13598  logical, intent(out), optional:: flag_time_exist
13599  character(*), intent(out), optional:: time_name
13600  logical, intent(out), optional:: err
13601  end subroutine lookup_growable_url
13602  end interface
13603  interface
13604  function file_rename_mpi( file ) result(result)
13605  use dc_types, only: string
13606  character(*), intent(in):: file
13607  character(STRING):: result
13608  end function file_rename_mpi
13609  end interface
13610  continue
13611  file_work = file
13612  if ( present_and_true( flag_mpi_split ) ) &
13613  & file_work = file_rename_mpi( file_work )
13614  call lookup_growable_url(file = file_work, varname = varname, &
13615  & url = url, &
13616  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13617  call url_chop_iorange( &
13618  & fullname = url, iorange = iorange, remainder = remainder )
13619  call split( str = iorange, carray = carray, sep = gt_equal )
13620  timevar_name = carray(1)
13621  deallocate( carray )
13622  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13623  call historygetint2pointer( file = file, &
13624  & varname = varname, array = array, &
13625  & range = time_range, quiet = quiet, &
13626  & flag_mpi_split = flag_mpi_split, &
13627  & returned_time = returned_time, &
13628  & flag_time_exist = flag_time_exist, &
13629  & err = err )
subroutine historygetint2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint2pointertimei()

subroutine historygetint2pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 17206 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

17206  use dc_string, only: tochar, split
17207  use dc_types, only: string, dp
17208  use dc_trace, only: dbgmessage
17209  use dc_url, only: url_chop_iorange, gt_equal
17210  use dc_present, only: present_and_true
17211  implicit none
17212  character(*), intent(in):: file, varname
17213  integer, intent(in):: time
17214  logical, intent(in), optional:: quiet
17215  integer, pointer :: array(:,:)
17216  logical, intent(in), optional:: flag_mpi_split
17217  real(DP), intent(out), optional:: returned_time
17218  logical, intent(out), optional:: flag_time_exist
17219  logical, intent(out), optional:: err
17220  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
17221  character(STRING), pointer:: carray (:)
17222  character(STRING):: tname
17223  character(*), parameter :: subname = "HistoryGetInt2TimeI"
17224  interface
17225  subroutine historygetint2pointer(&
17226  & file, varname, array, range, quiet, &
17227  & flag_mpi_split, returned_time, flag_time_exist, err)
17228  use dc_types, only: dp
17229  character(*), intent(in):: file
17230  character(*), intent(in):: varname
17231  character(*), intent(in), optional:: range
17232  logical, intent(in), optional:: quiet
17233  logical, intent(in), optional:: flag_mpi_split
17234  real(DP), intent(out), optional:: returned_time
17235  logical, intent(out), optional:: flag_time_exist
17236  logical, intent(out), optional:: err
17237  integer, pointer :: array(:,:)
17238  end subroutine historygetint2pointer
17239  end interface
17240  interface
17241  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17242  character(*), intent(in):: file
17243  character(*), intent(in):: varname
17244  character(*), intent(out):: url
17245  character(*), intent(in), optional:: range
17246  logical, intent(out), optional:: flag_time_exist
17247  character(*), intent(out), optional:: time_name
17248  logical, intent(out), optional:: err
17249  end subroutine lookup_growable_url
17250  end interface
17251  interface
17252  function file_rename_mpi( file ) result(result)
17253  use dc_types, only: string
17254  character(*), intent(in):: file
17255  character(STRING):: result
17256  end function file_rename_mpi
17257  end interface
17258  continue
17259  file_work = file
17260  if ( present_and_true( flag_mpi_split ) ) &
17261  & file_work = file_rename_mpi( file_work )
17262  call lookup_growable_url(file = file_work, varname = varname, &
17263  & url = url, &
17264  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17265  call url_chop_iorange( &
17266  & fullname = url, iorange = iorange, remainder = remainder )
17267  call split( str = iorange, carray = carray, sep = gt_equal )
17268  timevar_name = carray(1)
17269  deallocate( carray )
17270  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17271  call historygetint2pointer( file = file, &
17272  & varname = varname, array = array, &
17273  & range = time_range, quiet = quiet, &
17274  & flag_mpi_split = flag_mpi_split, &
17275  & returned_time = returned_time, &
17276  & flag_time_exist = flag_time_exist, &
17277  & err = err )
subroutine historygetint2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint2pointertimer()

subroutine historygetint2pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9910 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9910  use dc_string, only: tochar, split
9911  use dc_types, only: string, dp, sp
9912  use dc_trace, only: dbgmessage
9913  use dc_url, only: url_chop_iorange, gt_equal
9914  use dc_present, only: present_and_true
9915  implicit none
9916  character(*), intent(in):: file, varname
9917  real(SP), intent(in):: time
9918  logical, intent(in), optional:: quiet
9919  integer, pointer :: array(:,:)
9920  logical, intent(in), optional:: flag_mpi_split
9921  real(DP), intent(out), optional:: returned_time
9922  logical, intent(out), optional:: flag_time_exist
9923  logical, intent(out), optional:: err
9924  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9925  character(STRING), pointer:: carray (:)
9926  character(STRING):: tname
9927  character(*), parameter :: subname = "HistoryGetInt2TimeR"
9928  interface
9929  subroutine historygetint2pointer(&
9930  & file, varname, array, range, quiet, &
9931  & flag_mpi_split, returned_time, flag_time_exist, err)
9932  use dc_types, only: dp
9933  character(*), intent(in):: file
9934  character(*), intent(in):: varname
9935  character(*), intent(in), optional:: range
9936  logical, intent(in), optional:: quiet
9937  logical, intent(in), optional:: flag_mpi_split
9938  real(DP), intent(out), optional:: returned_time
9939  logical, intent(out), optional:: flag_time_exist
9940  logical, intent(out), optional:: err
9941  integer, pointer :: array(:,:)
9942  end subroutine historygetint2pointer
9943  end interface
9944  interface
9945  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9946  character(*), intent(in):: file
9947  character(*), intent(in):: varname
9948  character(*), intent(out):: url
9949  character(*), intent(in), optional:: range
9950  logical, intent(out), optional:: flag_time_exist
9951  character(*), intent(out), optional:: time_name
9952  logical, intent(out), optional:: err
9953  end subroutine lookup_growable_url
9954  end interface
9955  interface
9956  function file_rename_mpi( file ) result(result)
9957  use dc_types, only: string
9958  character(*), intent(in):: file
9959  character(STRING):: result
9960  end function file_rename_mpi
9961  end interface
9962  continue
9963  file_work = file
9964  if ( present_and_true( flag_mpi_split ) ) &
9965  & file_work = file_rename_mpi( file_work )
9966  call lookup_growable_url(file = file_work, varname = varname, &
9967  & url = url, &
9968  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9969  call url_chop_iorange( &
9970  & fullname = url, iorange = iorange, remainder = remainder )
9971  call split( str = iorange, carray = carray, sep = gt_equal )
9972  timevar_name = carray(1)
9973  deallocate( carray )
9974  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9975  call historygetint2pointer( file = file, &
9976  & varname = varname, array = array, &
9977  & range = time_range, quiet = quiet, &
9978  & flag_mpi_split = flag_mpi_split, &
9979  & returned_time = returned_time, &
9980  & flag_time_exist = flag_time_exist, &
9981  & err = err )
subroutine historygetint2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint2timed()

subroutine historygetint2timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12950 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

12950  use dc_string, only: tochar, split
12951  use dc_types, only: string, dp
12952  use dc_trace, only: dbgmessage
12953  use dc_url, only: url_chop_iorange, gt_equal
12954  use dc_present, only: present_and_true
12955  implicit none
12956  character(*), intent(in):: file, varname
12957  real(DP), intent(in):: time
12958  logical, intent(in), optional:: quiet
12959  integer, intent(out) :: array(:,:)
12960  logical, intent(in), optional:: flag_mpi_split
12961  real(DP), intent(out), optional:: returned_time
12962  logical, intent(out), optional:: flag_time_exist
12963  logical, intent(out), optional:: err
12964  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12965  character(STRING), pointer:: carray (:)
12966  character(STRING):: tname
12967  character(*), parameter :: subname = "HistoryGetInt2TimeD"
12968  interface
12969  subroutine historygetint2(&
12970  & file, varname, array, range, quiet, &
12971  & flag_mpi_split, returned_time, flag_time_exist, err)
12972  use dc_types, only: dp
12973  character(*), intent(in):: file
12974  character(*), intent(in):: varname
12975  character(*), intent(in), optional:: range
12976  logical, intent(in), optional:: quiet
12977  logical, intent(in), optional:: flag_mpi_split
12978  real(DP), intent(out), optional:: returned_time
12979  logical, intent(out), optional:: flag_time_exist
12980  logical, intent(out), optional:: err
12981  integer, intent(out) :: array(:,:)
12982  end subroutine historygetint2
12983  end interface
12984  interface
12985  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12986  character(*), intent(in):: file
12987  character(*), intent(in):: varname
12988  character(*), intent(out):: url
12989  character(*), intent(in), optional:: range
12990  logical, intent(out), optional:: flag_time_exist
12991  character(*), intent(out), optional:: time_name
12992  logical, intent(out), optional:: err
12993  end subroutine lookup_growable_url
12994  end interface
12995  interface
12996  function file_rename_mpi( file ) result(result)
12997  use dc_types, only: string
12998  character(*), intent(in):: file
12999  character(STRING):: result
13000  end function file_rename_mpi
13001  end interface
13002  continue
13003  file_work = file
13004  if ( present_and_true( flag_mpi_split ) ) &
13005  & file_work = file_rename_mpi( file_work )
13006  call lookup_growable_url(file = file_work, varname = varname, &
13007  & url = url, &
13008  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13009  call url_chop_iorange( &
13010  & fullname = url, iorange = iorange, remainder = remainder )
13011  call split( str = iorange, carray = carray, sep = gt_equal )
13012  timevar_name = carray(1)
13013  deallocate( carray )
13014  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13015  call historygetint2( file = file, &
13016  & varname = varname, array = array, &
13017  & range = time_range, quiet = quiet, &
13018  & flag_mpi_split = flag_mpi_split, &
13019  & returned_time = returned_time, &
13020  & flag_time_exist = flag_time_exist, &
13021  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint2timei()

subroutine historygetint2timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16598 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

16598  use dc_string, only: tochar, split
16599  use dc_types, only: string, dp
16600  use dc_trace, only: dbgmessage
16601  use dc_url, only: url_chop_iorange, gt_equal
16602  use dc_present, only: present_and_true
16603  implicit none
16604  character(*), intent(in):: file, varname
16605  integer, intent(in):: time
16606  logical, intent(in), optional:: quiet
16607  integer, intent(out) :: array(:,:)
16608  logical, intent(in), optional:: flag_mpi_split
16609  real(DP), intent(out), optional:: returned_time
16610  logical, intent(out), optional:: flag_time_exist
16611  logical, intent(out), optional:: err
16612  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16613  character(STRING), pointer:: carray (:)
16614  character(STRING):: tname
16615  character(*), parameter :: subname = "HistoryGetInt2TimeI"
16616  interface
16617  subroutine historygetint2(&
16618  & file, varname, array, range, quiet, &
16619  & flag_mpi_split, returned_time, flag_time_exist, err)
16620  use dc_types, only: dp
16621  character(*), intent(in):: file
16622  character(*), intent(in):: varname
16623  character(*), intent(in), optional:: range
16624  logical, intent(in), optional:: quiet
16625  logical, intent(in), optional:: flag_mpi_split
16626  real(DP), intent(out), optional:: returned_time
16627  logical, intent(out), optional:: flag_time_exist
16628  logical, intent(out), optional:: err
16629  integer, intent(out) :: array(:,:)
16630  end subroutine historygetint2
16631  end interface
16632  interface
16633  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16634  character(*), intent(in):: file
16635  character(*), intent(in):: varname
16636  character(*), intent(out):: url
16637  character(*), intent(in), optional:: range
16638  logical, intent(out), optional:: flag_time_exist
16639  character(*), intent(out), optional:: time_name
16640  logical, intent(out), optional:: err
16641  end subroutine lookup_growable_url
16642  end interface
16643  interface
16644  function file_rename_mpi( file ) result(result)
16645  use dc_types, only: string
16646  character(*), intent(in):: file
16647  character(STRING):: result
16648  end function file_rename_mpi
16649  end interface
16650  continue
16651  file_work = file
16652  if ( present_and_true( flag_mpi_split ) ) &
16653  & file_work = file_rename_mpi( file_work )
16654  call lookup_growable_url(file = file_work, varname = varname, &
16655  & url = url, &
16656  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16657  call url_chop_iorange( &
16658  & fullname = url, iorange = iorange, remainder = remainder )
16659  call split( str = iorange, carray = carray, sep = gt_equal )
16660  timevar_name = carray(1)
16661  deallocate( carray )
16662  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16663  call historygetint2( file = file, &
16664  & varname = varname, array = array, &
16665  & range = time_range, quiet = quiet, &
16666  & flag_mpi_split = flag_mpi_split, &
16667  & returned_time = returned_time, &
16668  & flag_time_exist = flag_time_exist, &
16669  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint2timer()

subroutine historygetint2timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9302 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9302  use dc_string, only: tochar, split
9303  use dc_types, only: string, dp, sp
9304  use dc_trace, only: dbgmessage
9305  use dc_url, only: url_chop_iorange, gt_equal
9306  use dc_present, only: present_and_true
9307  implicit none
9308  character(*), intent(in):: file, varname
9309  real(SP), intent(in):: time
9310  logical, intent(in), optional:: quiet
9311  integer, intent(out) :: array(:,:)
9312  logical, intent(in), optional:: flag_mpi_split
9313  real(DP), intent(out), optional:: returned_time
9314  logical, intent(out), optional:: flag_time_exist
9315  logical, intent(out), optional:: err
9316  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9317  character(STRING), pointer:: carray (:)
9318  character(STRING):: tname
9319  character(*), parameter :: subname = "HistoryGetInt2TimeR"
9320  interface
9321  subroutine historygetint2(&
9322  & file, varname, array, range, quiet, &
9323  & flag_mpi_split, returned_time, flag_time_exist, err)
9324  use dc_types, only: dp
9325  character(*), intent(in):: file
9326  character(*), intent(in):: varname
9327  character(*), intent(in), optional:: range
9328  logical, intent(in), optional:: quiet
9329  logical, intent(in), optional:: flag_mpi_split
9330  real(DP), intent(out), optional:: returned_time
9331  logical, intent(out), optional:: flag_time_exist
9332  logical, intent(out), optional:: err
9333  integer, intent(out) :: array(:,:)
9334  end subroutine historygetint2
9335  end interface
9336  interface
9337  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9338  character(*), intent(in):: file
9339  character(*), intent(in):: varname
9340  character(*), intent(out):: url
9341  character(*), intent(in), optional:: range
9342  logical, intent(out), optional:: flag_time_exist
9343  character(*), intent(out), optional:: time_name
9344  logical, intent(out), optional:: err
9345  end subroutine lookup_growable_url
9346  end interface
9347  interface
9348  function file_rename_mpi( file ) result(result)
9349  use dc_types, only: string
9350  character(*), intent(in):: file
9351  character(STRING):: result
9352  end function file_rename_mpi
9353  end interface
9354  continue
9355  file_work = file
9356  if ( present_and_true( flag_mpi_split ) ) &
9357  & file_work = file_rename_mpi( file_work )
9358  call lookup_growable_url(file = file_work, varname = varname, &
9359  & url = url, &
9360  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9361  call url_chop_iorange( &
9362  & fullname = url, iorange = iorange, remainder = remainder )
9363  call split( str = iorange, carray = carray, sep = gt_equal )
9364  timevar_name = carray(1)
9365  deallocate( carray )
9366  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9367  call historygetint2( file = file, &
9368  & varname = varname, array = array, &
9369  & range = time_range, quiet = quiet, &
9370  & flag_mpi_split = flag_mpi_split, &
9371  & returned_time = returned_time, &
9372  & flag_time_exist = flag_time_exist, &
9373  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetint2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint3()

subroutine historygetint3 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 3747 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetint3timed(), historygetint3timei(), and historygetint3timer().

3747  use gtdata_types, only: gt_variable
3748  use gtdata_generic, only: open, inquire, close, get
3749  use dc_string, only: tochar, split, joinchar, stoa
3752  use dc_regex, only: match
3753  use dc_types, only: string, dp
3754  use dc_message, only: messagenotify
3755  use dc_trace, only: dbgmessage
3758  implicit none
3759  character(*), intent(in):: file
3760  character(*), intent(in):: varname
3761  character(*), intent(in), optional:: range
3762  logical, intent(in), optional:: quiet
3763  logical, intent(in), optional:: flag_mpi_split
3764  real(DP), intent(out), optional:: returned_time ! データの時刻
3765  logical, intent(out), optional:: flag_time_exist
3766  logical, intent(out), optional:: err
3767  integer, intent(out) :: array(:,:,:)
3768  integer, allocatable :: array_tmp(:)
3769  integer:: array_allsize
3770  integer:: array_shape(3), data_shape(3), array_shape_check(3)
3771  integer:: allcount
3772  integer:: i, sd
3773  logical:: inq_err
3774  type(gt_variable):: var
3775  character(STRING):: file_work, url, actual_url
3776  integer:: rank, alldims, array_rank
3777  integer:: domain
3778  character(STRING):: tname
3779  integer:: stat
3780  character(STRING):: cause_c
3781  character(*), parameter :: subname = "HistoryGetInt3"
3782  interface
3783  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
3784  character(*), intent(in):: file
3785  character(*), intent(in):: varname
3786  character(*), intent(out):: url
3787  character(*), intent(in), optional:: range
3788  logical, intent(out), optional:: flag_time_exist
3789  character(*), intent(out), optional:: time_name
3790  logical, intent(out), optional:: err
3791  end subroutine lookup_growable_url
3792  end interface
3793  interface
3794  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
3795  use dc_types, only: dp
3796  character(*), intent(in) :: url ! 変数 URL
3797  character(*), intent(out), optional :: actual_url
3798  ! 正確な入出力範囲指定
3799  real(DP), intent(out), optional:: returned_time ! データの時刻
3800  character(*), intent(in), optional:: time_name ! 時刻次元の名称
3801  logical, intent(out), optional :: err ! エラーのフラグ
3802  end subroutine actual_iorange_dump
3803  end interface
3804  interface
3805  function file_rename_mpi( file ) result(result)
3806  use dc_types, only: string
3807  character(*), intent(in):: file
3808  character(STRING):: result
3809  end function file_rename_mpi
3810  end interface
3811  continue
3812  cause_c = ''
3813  stat = dc_noerr
3814  file_work = file
3815  array_shape = shape( array )
3816  array_allsize = size( array )
3817  ! ファイル名の変更 (MPI 用)
3818  ! Change filename (for MPI)
3819  !
3820  if ( present_and_true( flag_mpi_split ) ) &
3821  & file_work = file_rename_mpi( file_work )
3822  ! 最新時刻の URL 取得
3823  ! Get URL of latest time
3824  !
3825  call lookup_growable_url(file_work, varname, url, range, &
3826  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
3827  if ( present_and_true(err) ) then
3828  stat = gt_enoturl
3829  cause_c = url
3830  goto 999
3831  end if
3832  ! ファイルオープン
3833  ! File open
3834  call open( var, url, err = err )
3835  if ( present_and_true(err) ) then
3836  stat = gt_enoturl
3837  cause_c = url
3838  goto 999
3839  end if
3840  !-------------------------------------------------------------------
3841  ! 配列形状のチェック
3842  ! Check array shape
3843  !-------------------------------------------------------------------
3844  ! 入力ファイル中のデータの次元数
3845  ! Get size of dimesions in data of an input file
3846  !
3847  call inquire( var = var, & ! (in)
3848  & rank = rank, alldims = alldims ) ! (out)
3849  ! 引数の次元数のチェック (縮退されている場合には減らす)
3850  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
3851  array_rank = 3
3852  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
3853  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
3854  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
3855  ! 次元数の比較
3856  ! Compare sizes of dimensions
3857  !
3858  if ( .not. 3 == rank .and. .not. array_rank == rank ) then
3859  if ( .not. present_and_true(quiet) ) then
3860  call messagenotify('W', subname, &
3861  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
3862  & i = (/rank, 3/), c1 = trim(url) )
3863  end if
3864  stat = gt_erankmismatch
3865  cause_c = 'array'
3866  goto 999
3867  end if
3868  ! 入力ファイル中のデータの配列形状取得
3869  ! Get shape of data in an input file
3870  call inquire( var = var , dimord = 1, & ! (in)
3871  & allcount = allcount, err = inq_err ) ! (out)
3872  if ( .not. inq_err ) then
3873  data_shape(1) = allcount
3874  else
3875  data_shape(1) = 1
3876  end if
3877  call inquire( var = var , dimord = 2, & ! (in)
3878  & allcount = allcount, err = inq_err ) ! (out)
3879  if ( .not. inq_err ) then
3880  data_shape(2) = allcount
3881  else
3882  data_shape(2) = 1
3883  end if
3884  call inquire( var = var , dimord = 3, & ! (in)
3885  & allcount = allcount, err = inq_err ) ! (out)
3886  if ( .not. inq_err ) then
3887  data_shape(3) = allcount
3888  else
3889  data_shape(3) = 1
3890  end if
3891  ! 引数の配列形状整形
3892  ! Arrange shape of an argument
3893  !
3894  array_shape_check = array_shape
3895  sd = 1
3896  do i = 1, 3 - 1
3897  if ( array_shape_check(sd) == 1 ) then
3898  array_shape_check(sd:3) = cshift( array_shape_check(sd:3), 1, 1 )
3899  else
3900  sd = sd + 1
3901  end if
3902  end do
3903  ! 配列形状の比較
3904  ! Compare shapes
3905  !
3906  if ( .not. all( array_shape_check == data_shape ) ) then
3907  if ( .not. present_and_true(quiet) ) then
3908  call messagenotify('W', subname, &
3909  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
3910  & c1 = trim( url ), &
3911  & c2 = trim( tochar( data_shape(1:rank) ) ), &
3912  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
3913  end if
3914  stat = gt_eargsizemismatch
3915  cause_c = 'array'
3916  goto 999
3917  end if
3918  !-------------------------------------
3919  ! データ取得
3920  ! Get data
3921  call inquire( var = var, & ! (in)
3922  & size = domain ) ! (out)
3923  if ( allocated( array_tmp ) ) deallocate( array_tmp )
3924  allocate( array_tmp(array_allsize) )
3925  call get( var, array_tmp, domain )
3926  array = reshape( array_tmp, array_shape )
3927  deallocate( array_tmp )
3928  call close( var )
3929  !-------------------------------------
3930  ! データファイル名と切り出し範囲の印字
3931  ! Print data filename and clipping range
3932  call actual_iorange_dump(url, & ! (in)
3933  & actual_url, returned_time, & ! (out) optional
3934  & time_name = tname, & ! (in) optional
3935  & err = err) ! (out) optional
3936  if ( .not. present_and_true(quiet) ) then
3937  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
3938  end if
3939 999 continue
3940  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint3pointer()

subroutine historygetint3pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6322 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetint3pointertimed(), historygetint3pointertimei(), and historygetint3pointertimer().

6322  use gtdata_types, only: gt_variable
6323  use gtdata_generic, only: open, inquire, close, get
6324  use dc_string, only: tochar
6326  use dc_types, only: string, dp
6327  use dc_message, only: messagenotify
6328  use dc_trace, only: dbgmessage
6329  implicit none
6330  character(*), intent(in):: file
6331  character(*), intent(in):: varname
6332  character(*), intent(in), optional:: range
6333  logical, intent(in), optional:: quiet
6334  logical, intent(in), optional:: flag_mpi_split
6335  real(DP), intent(out), optional:: returned_time ! データの時刻
6336  logical, intent(out), optional:: flag_time_exist
6337  logical, intent(out), optional:: err
6338  integer:: domain
6339  integer, pointer :: array(:,:,:) ! (out)
6340  integer, target :: array_tmp(1)
6341  type(gt_variable):: var
6342  character(STRING):: file_work, url, actual_url
6343  character(STRING):: tname
6344  character(*), parameter :: subname = "HistoryGetInt3Pointer"
6345  interface
6346  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6347  character(*), intent(in):: file
6348  character(*), intent(in):: varname
6349  character(*), intent(out):: url
6350  character(*), intent(in), optional:: range
6351  logical, intent(out), optional:: flag_time_exist
6352  character(*), intent(out), optional:: time_name
6353  logical, intent(out), optional:: err
6354  end subroutine lookup_growable_url
6355  end interface
6356  interface
6357  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6358  use dc_types, only: dp
6359  character(*), intent(in) :: url ! 変数 URL
6360  character(*), intent(out), optional :: actual_url
6361  ! 正確な入出力範囲指定
6362  real(DP), intent(out), optional:: returned_time ! データの時刻
6363  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6364  logical, intent(out), optional :: err ! エラーのフラグ
6365  end subroutine actual_iorange_dump
6366  end interface
6367  interface
6368  function file_rename_mpi( file ) result(result)
6369  use dc_types, only: string
6370  character(*), intent(in):: file
6371  character(STRING):: result
6372  end function file_rename_mpi
6373  end interface
6374  continue
6375  file_work = file
6376  ! ファイル名の変更 (MPI 用)
6377  ! Change filename (for MPI)
6378  !
6379  if ( present_and_true( flag_mpi_split ) ) &
6380  & file_work = file_rename_mpi( file_work )
6381  ! 必要な情報を gtool 変数化
6382  !
6383  call lookup_growable_url(file_work, varname, url, range, &
6384  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6385  call dbgmessage('@ url =%c', c1=trim(url))
6386  ! いよいよデータ取得
6387  !
6388  call open(var, url, err)
6389  call get(var, array, err)
6390  call close(var, err)
6391  call actual_iorange_dump(url, & ! (in)
6392  & actual_url, returned_time, & ! (out) optional
6393  & time_name = tname, & ! (in) optional
6394  & err = err) ! (out) optional
6395  if ( .not. present_and_true(quiet) ) then
6396  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6397  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint3pointertimed()

subroutine historygetint3pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13634 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13634  use dc_string, only: tochar, split
13635  use dc_types, only: string, dp
13636  use dc_trace, only: dbgmessage
13637  use dc_url, only: url_chop_iorange, gt_equal
13638  use dc_present, only: present_and_true
13639  implicit none
13640  character(*), intent(in):: file, varname
13641  real(DP), intent(in):: time
13642  logical, intent(in), optional:: quiet
13643  integer, pointer :: array(:,:,:)
13644  logical, intent(in), optional:: flag_mpi_split
13645  real(DP), intent(out), optional:: returned_time
13646  logical, intent(out), optional:: flag_time_exist
13647  logical, intent(out), optional:: err
13648  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13649  character(STRING), pointer:: carray (:)
13650  character(STRING):: tname
13651  character(*), parameter :: subname = "HistoryGetInt3TimeD"
13652  interface
13653  subroutine historygetint3pointer(&
13654  & file, varname, array, range, quiet, &
13655  & flag_mpi_split, returned_time, flag_time_exist, err)
13656  use dc_types, only: dp
13657  character(*), intent(in):: file
13658  character(*), intent(in):: varname
13659  character(*), intent(in), optional:: range
13660  logical, intent(in), optional:: quiet
13661  logical, intent(in), optional:: flag_mpi_split
13662  real(DP), intent(out), optional:: returned_time
13663  logical, intent(out), optional:: flag_time_exist
13664  logical, intent(out), optional:: err
13665  integer, pointer :: array(:,:,:)
13666  end subroutine historygetint3pointer
13667  end interface
13668  interface
13669  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13670  character(*), intent(in):: file
13671  character(*), intent(in):: varname
13672  character(*), intent(out):: url
13673  character(*), intent(in), optional:: range
13674  logical, intent(out), optional:: flag_time_exist
13675  character(*), intent(out), optional:: time_name
13676  logical, intent(out), optional:: err
13677  end subroutine lookup_growable_url
13678  end interface
13679  interface
13680  function file_rename_mpi( file ) result(result)
13681  use dc_types, only: string
13682  character(*), intent(in):: file
13683  character(STRING):: result
13684  end function file_rename_mpi
13685  end interface
13686  continue
13687  file_work = file
13688  if ( present_and_true( flag_mpi_split ) ) &
13689  & file_work = file_rename_mpi( file_work )
13690  call lookup_growable_url(file = file_work, varname = varname, &
13691  & url = url, &
13692  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13693  call url_chop_iorange( &
13694  & fullname = url, iorange = iorange, remainder = remainder )
13695  call split( str = iorange, carray = carray, sep = gt_equal )
13696  timevar_name = carray(1)
13697  deallocate( carray )
13698  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13699  call historygetint3pointer( file = file, &
13700  & varname = varname, array = array, &
13701  & range = time_range, quiet = quiet, &
13702  & flag_mpi_split = flag_mpi_split, &
13703  & returned_time = returned_time, &
13704  & flag_time_exist = flag_time_exist, &
13705  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetint3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint3pointertimei()

subroutine historygetint3pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 17282 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

17282  use dc_string, only: tochar, split
17283  use dc_types, only: string, dp
17284  use dc_trace, only: dbgmessage
17285  use dc_url, only: url_chop_iorange, gt_equal
17286  use dc_present, only: present_and_true
17287  implicit none
17288  character(*), intent(in):: file, varname
17289  integer, intent(in):: time
17290  logical, intent(in), optional:: quiet
17291  integer, pointer :: array(:,:,:)
17292  logical, intent(in), optional:: flag_mpi_split
17293  real(DP), intent(out), optional:: returned_time
17294  logical, intent(out), optional:: flag_time_exist
17295  logical, intent(out), optional:: err
17296  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
17297  character(STRING), pointer:: carray (:)
17298  character(STRING):: tname
17299  character(*), parameter :: subname = "HistoryGetInt3TimeI"
17300  interface
17301  subroutine historygetint3pointer(&
17302  & file, varname, array, range, quiet, &
17303  & flag_mpi_split, returned_time, flag_time_exist, err)
17304  use dc_types, only: dp
17305  character(*), intent(in):: file
17306  character(*), intent(in):: varname
17307  character(*), intent(in), optional:: range
17308  logical, intent(in), optional:: quiet
17309  logical, intent(in), optional:: flag_mpi_split
17310  real(DP), intent(out), optional:: returned_time
17311  logical, intent(out), optional:: flag_time_exist
17312  logical, intent(out), optional:: err
17313  integer, pointer :: array(:,:,:)
17314  end subroutine historygetint3pointer
17315  end interface
17316  interface
17317  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17318  character(*), intent(in):: file
17319  character(*), intent(in):: varname
17320  character(*), intent(out):: url
17321  character(*), intent(in), optional:: range
17322  logical, intent(out), optional:: flag_time_exist
17323  character(*), intent(out), optional:: time_name
17324  logical, intent(out), optional:: err
17325  end subroutine lookup_growable_url
17326  end interface
17327  interface
17328  function file_rename_mpi( file ) result(result)
17329  use dc_types, only: string
17330  character(*), intent(in):: file
17331  character(STRING):: result
17332  end function file_rename_mpi
17333  end interface
17334  continue
17335  file_work = file
17336  if ( present_and_true( flag_mpi_split ) ) &
17337  & file_work = file_rename_mpi( file_work )
17338  call lookup_growable_url(file = file_work, varname = varname, &
17339  & url = url, &
17340  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17341  call url_chop_iorange( &
17342  & fullname = url, iorange = iorange, remainder = remainder )
17343  call split( str = iorange, carray = carray, sep = gt_equal )
17344  timevar_name = carray(1)
17345  deallocate( carray )
17346  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17347  call historygetint3pointer( file = file, &
17348  & varname = varname, array = array, &
17349  & range = time_range, quiet = quiet, &
17350  & flag_mpi_split = flag_mpi_split, &
17351  & returned_time = returned_time, &
17352  & flag_time_exist = flag_time_exist, &
17353  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetint3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint3pointertimer()

subroutine historygetint3pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9986 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9986  use dc_string, only: tochar, split
9987  use dc_types, only: string, dp, sp
9988  use dc_trace, only: dbgmessage
9989  use dc_url, only: url_chop_iorange, gt_equal
9990  use dc_present, only: present_and_true
9991  implicit none
9992  character(*), intent(in):: file, varname
9993  real(SP), intent(in):: time
9994  logical, intent(in), optional:: quiet
9995  integer, pointer :: array(:,:,:)
9996  logical, intent(in), optional:: flag_mpi_split
9997  real(DP), intent(out), optional:: returned_time
9998  logical, intent(out), optional:: flag_time_exist
9999  logical, intent(out), optional:: err
10000  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10001  character(STRING), pointer:: carray (:)
10002  character(STRING):: tname
10003  character(*), parameter :: subname = "HistoryGetInt3TimeR"
10004  interface
10005  subroutine historygetint3pointer(&
10006  & file, varname, array, range, quiet, &
10007  & flag_mpi_split, returned_time, flag_time_exist, err)
10008  use dc_types, only: dp
10009  character(*), intent(in):: file
10010  character(*), intent(in):: varname
10011  character(*), intent(in), optional:: range
10012  logical, intent(in), optional:: quiet
10013  logical, intent(in), optional:: flag_mpi_split
10014  real(DP), intent(out), optional:: returned_time
10015  logical, intent(out), optional:: flag_time_exist
10016  logical, intent(out), optional:: err
10017  integer, pointer :: array(:,:,:)
10018  end subroutine historygetint3pointer
10019  end interface
10020  interface
10021  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10022  character(*), intent(in):: file
10023  character(*), intent(in):: varname
10024  character(*), intent(out):: url
10025  character(*), intent(in), optional:: range
10026  logical, intent(out), optional:: flag_time_exist
10027  character(*), intent(out), optional:: time_name
10028  logical, intent(out), optional:: err
10029  end subroutine lookup_growable_url
10030  end interface
10031  interface
10032  function file_rename_mpi( file ) result(result)
10033  use dc_types, only: string
10034  character(*), intent(in):: file
10035  character(STRING):: result
10036  end function file_rename_mpi
10037  end interface
10038  continue
10039  file_work = file
10040  if ( present_and_true( flag_mpi_split ) ) &
10041  & file_work = file_rename_mpi( file_work )
10042  call lookup_growable_url(file = file_work, varname = varname, &
10043  & url = url, &
10044  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10045  call url_chop_iorange( &
10046  & fullname = url, iorange = iorange, remainder = remainder )
10047  call split( str = iorange, carray = carray, sep = gt_equal )
10048  timevar_name = carray(1)
10049  deallocate( carray )
10050  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10051  call historygetint3pointer( file = file, &
10052  & varname = varname, array = array, &
10053  & range = time_range, quiet = quiet, &
10054  & flag_mpi_split = flag_mpi_split, &
10055  & returned_time = returned_time, &
10056  & flag_time_exist = flag_time_exist, &
10057  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetint3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint3timed()

subroutine historygetint3timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13026 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13026  use dc_string, only: tochar, split
13027  use dc_types, only: string, dp
13028  use dc_trace, only: dbgmessage
13029  use dc_url, only: url_chop_iorange, gt_equal
13030  use dc_present, only: present_and_true
13031  implicit none
13032  character(*), intent(in):: file, varname
13033  real(DP), intent(in):: time
13034  logical, intent(in), optional:: quiet
13035  integer, intent(out) :: array(:,:,:)
13036  logical, intent(in), optional:: flag_mpi_split
13037  real(DP), intent(out), optional:: returned_time
13038  logical, intent(out), optional:: flag_time_exist
13039  logical, intent(out), optional:: err
13040  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13041  character(STRING), pointer:: carray (:)
13042  character(STRING):: tname
13043  character(*), parameter :: subname = "HistoryGetInt3TimeD"
13044  interface
13045  subroutine historygetint3(&
13046  & file, varname, array, range, quiet, &
13047  & flag_mpi_split, returned_time, flag_time_exist, err)
13048  use dc_types, only: dp
13049  character(*), intent(in):: file
13050  character(*), intent(in):: varname
13051  character(*), intent(in), optional:: range
13052  logical, intent(in), optional:: quiet
13053  logical, intent(in), optional:: flag_mpi_split
13054  real(DP), intent(out), optional:: returned_time
13055  logical, intent(out), optional:: flag_time_exist
13056  logical, intent(out), optional:: err
13057  integer, intent(out) :: array(:,:,:)
13058  end subroutine historygetint3
13059  end interface
13060  interface
13061  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13062  character(*), intent(in):: file
13063  character(*), intent(in):: varname
13064  character(*), intent(out):: url
13065  character(*), intent(in), optional:: range
13066  logical, intent(out), optional:: flag_time_exist
13067  character(*), intent(out), optional:: time_name
13068  logical, intent(out), optional:: err
13069  end subroutine lookup_growable_url
13070  end interface
13071  interface
13072  function file_rename_mpi( file ) result(result)
13073  use dc_types, only: string
13074  character(*), intent(in):: file
13075  character(STRING):: result
13076  end function file_rename_mpi
13077  end interface
13078  continue
13079  file_work = file
13080  if ( present_and_true( flag_mpi_split ) ) &
13081  & file_work = file_rename_mpi( file_work )
13082  call lookup_growable_url(file = file_work, varname = varname, &
13083  & url = url, &
13084  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13085  call url_chop_iorange( &
13086  & fullname = url, iorange = iorange, remainder = remainder )
13087  call split( str = iorange, carray = carray, sep = gt_equal )
13088  timevar_name = carray(1)
13089  deallocate( carray )
13090  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13091  call historygetint3( file = file, &
13092  & varname = varname, array = array, &
13093  & range = time_range, quiet = quiet, &
13094  & flag_mpi_split = flag_mpi_split, &
13095  & returned_time = returned_time, &
13096  & flag_time_exist = flag_time_exist, &
13097  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint3timei()

subroutine historygetint3timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16674 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

16674  use dc_string, only: tochar, split
16675  use dc_types, only: string, dp
16676  use dc_trace, only: dbgmessage
16677  use dc_url, only: url_chop_iorange, gt_equal
16678  use dc_present, only: present_and_true
16679  implicit none
16680  character(*), intent(in):: file, varname
16681  integer, intent(in):: time
16682  logical, intent(in), optional:: quiet
16683  integer, intent(out) :: array(:,:,:)
16684  logical, intent(in), optional:: flag_mpi_split
16685  real(DP), intent(out), optional:: returned_time
16686  logical, intent(out), optional:: flag_time_exist
16687  logical, intent(out), optional:: err
16688  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16689  character(STRING), pointer:: carray (:)
16690  character(STRING):: tname
16691  character(*), parameter :: subname = "HistoryGetInt3TimeI"
16692  interface
16693  subroutine historygetint3(&
16694  & file, varname, array, range, quiet, &
16695  & flag_mpi_split, returned_time, flag_time_exist, err)
16696  use dc_types, only: dp
16697  character(*), intent(in):: file
16698  character(*), intent(in):: varname
16699  character(*), intent(in), optional:: range
16700  logical, intent(in), optional:: quiet
16701  logical, intent(in), optional:: flag_mpi_split
16702  real(DP), intent(out), optional:: returned_time
16703  logical, intent(out), optional:: flag_time_exist
16704  logical, intent(out), optional:: err
16705  integer, intent(out) :: array(:,:,:)
16706  end subroutine historygetint3
16707  end interface
16708  interface
16709  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16710  character(*), intent(in):: file
16711  character(*), intent(in):: varname
16712  character(*), intent(out):: url
16713  character(*), intent(in), optional:: range
16714  logical, intent(out), optional:: flag_time_exist
16715  character(*), intent(out), optional:: time_name
16716  logical, intent(out), optional:: err
16717  end subroutine lookup_growable_url
16718  end interface
16719  interface
16720  function file_rename_mpi( file ) result(result)
16721  use dc_types, only: string
16722  character(*), intent(in):: file
16723  character(STRING):: result
16724  end function file_rename_mpi
16725  end interface
16726  continue
16727  file_work = file
16728  if ( present_and_true( flag_mpi_split ) ) &
16729  & file_work = file_rename_mpi( file_work )
16730  call lookup_growable_url(file = file_work, varname = varname, &
16731  & url = url, &
16732  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16733  call url_chop_iorange( &
16734  & fullname = url, iorange = iorange, remainder = remainder )
16735  call split( str = iorange, carray = carray, sep = gt_equal )
16736  timevar_name = carray(1)
16737  deallocate( carray )
16738  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16739  call historygetint3( file = file, &
16740  & varname = varname, array = array, &
16741  & range = time_range, quiet = quiet, &
16742  & flag_mpi_split = flag_mpi_split, &
16743  & returned_time = returned_time, &
16744  & flag_time_exist = flag_time_exist, &
16745  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint3timer()

subroutine historygetint3timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9378 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9378  use dc_string, only: tochar, split
9379  use dc_types, only: string, dp, sp
9380  use dc_trace, only: dbgmessage
9381  use dc_url, only: url_chop_iorange, gt_equal
9382  use dc_present, only: present_and_true
9383  implicit none
9384  character(*), intent(in):: file, varname
9385  real(SP), intent(in):: time
9386  logical, intent(in), optional:: quiet
9387  integer, intent(out) :: array(:,:,:)
9388  logical, intent(in), optional:: flag_mpi_split
9389  real(DP), intent(out), optional:: returned_time
9390  logical, intent(out), optional:: flag_time_exist
9391  logical, intent(out), optional:: err
9392  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9393  character(STRING), pointer:: carray (:)
9394  character(STRING):: tname
9395  character(*), parameter :: subname = "HistoryGetInt3TimeR"
9396  interface
9397  subroutine historygetint3(&
9398  & file, varname, array, range, quiet, &
9399  & flag_mpi_split, returned_time, flag_time_exist, err)
9400  use dc_types, only: dp
9401  character(*), intent(in):: file
9402  character(*), intent(in):: varname
9403  character(*), intent(in), optional:: range
9404  logical, intent(in), optional:: quiet
9405  logical, intent(in), optional:: flag_mpi_split
9406  real(DP), intent(out), optional:: returned_time
9407  logical, intent(out), optional:: flag_time_exist
9408  logical, intent(out), optional:: err
9409  integer, intent(out) :: array(:,:,:)
9410  end subroutine historygetint3
9411  end interface
9412  interface
9413  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9414  character(*), intent(in):: file
9415  character(*), intent(in):: varname
9416  character(*), intent(out):: url
9417  character(*), intent(in), optional:: range
9418  logical, intent(out), optional:: flag_time_exist
9419  character(*), intent(out), optional:: time_name
9420  logical, intent(out), optional:: err
9421  end subroutine lookup_growable_url
9422  end interface
9423  interface
9424  function file_rename_mpi( file ) result(result)
9425  use dc_types, only: string
9426  character(*), intent(in):: file
9427  character(STRING):: result
9428  end function file_rename_mpi
9429  end interface
9430  continue
9431  file_work = file
9432  if ( present_and_true( flag_mpi_split ) ) &
9433  & file_work = file_rename_mpi( file_work )
9434  call lookup_growable_url(file = file_work, varname = varname, &
9435  & url = url, &
9436  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9437  call url_chop_iorange( &
9438  & fullname = url, iorange = iorange, remainder = remainder )
9439  call split( str = iorange, carray = carray, sep = gt_equal )
9440  timevar_name = carray(1)
9441  deallocate( carray )
9442  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9443  call historygetint3( file = file, &
9444  & varname = varname, array = array, &
9445  & range = time_range, quiet = quiet, &
9446  & flag_mpi_split = flag_mpi_split, &
9447  & returned_time = returned_time, &
9448  & flag_time_exist = flag_time_exist, &
9449  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint4()

subroutine historygetint4 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 3944 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetint4timed(), historygetint4timei(), and historygetint4timer().

3944  use gtdata_types, only: gt_variable
3945  use gtdata_generic, only: open, inquire, close, get
3946  use dc_string, only: tochar, split, joinchar, stoa
3949  use dc_regex, only: match
3950  use dc_types, only: string, dp
3951  use dc_message, only: messagenotify
3952  use dc_trace, only: dbgmessage
3955  implicit none
3956  character(*), intent(in):: file
3957  character(*), intent(in):: varname
3958  character(*), intent(in), optional:: range
3959  logical, intent(in), optional:: quiet
3960  logical, intent(in), optional:: flag_mpi_split
3961  real(DP), intent(out), optional:: returned_time ! データの時刻
3962  logical, intent(out), optional:: flag_time_exist
3963  logical, intent(out), optional:: err
3964  integer, intent(out) :: array(:,:,:,:)
3965  integer, allocatable :: array_tmp(:)
3966  integer:: array_allsize
3967  integer:: array_shape(4), data_shape(4), array_shape_check(4)
3968  integer:: allcount
3969  integer:: i, sd
3970  logical:: inq_err
3971  type(gt_variable):: var
3972  character(STRING):: file_work, url, actual_url
3973  integer:: rank, alldims, array_rank
3974  integer:: domain
3975  character(STRING):: tname
3976  integer:: stat
3977  character(STRING):: cause_c
3978  character(*), parameter :: subname = "HistoryGetInt4"
3979  interface
3980  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
3981  character(*), intent(in):: file
3982  character(*), intent(in):: varname
3983  character(*), intent(out):: url
3984  character(*), intent(in), optional:: range
3985  logical, intent(out), optional:: flag_time_exist
3986  character(*), intent(out), optional:: time_name
3987  logical, intent(out), optional:: err
3988  end subroutine lookup_growable_url
3989  end interface
3990  interface
3991  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
3992  use dc_types, only: dp
3993  character(*), intent(in) :: url ! 変数 URL
3994  character(*), intent(out), optional :: actual_url
3995  ! 正確な入出力範囲指定
3996  real(DP), intent(out), optional:: returned_time ! データの時刻
3997  character(*), intent(in), optional:: time_name ! 時刻次元の名称
3998  logical, intent(out), optional :: err ! エラーのフラグ
3999  end subroutine actual_iorange_dump
4000  end interface
4001  interface
4002  function file_rename_mpi( file ) result(result)
4003  use dc_types, only: string
4004  character(*), intent(in):: file
4005  character(STRING):: result
4006  end function file_rename_mpi
4007  end interface
4008  continue
4009  cause_c = ''
4010  stat = dc_noerr
4011  file_work = file
4012  array_shape = shape( array )
4013  array_allsize = size( array )
4014  ! ファイル名の変更 (MPI 用)
4015  ! Change filename (for MPI)
4016  !
4017  if ( present_and_true( flag_mpi_split ) ) &
4018  & file_work = file_rename_mpi( file_work )
4019  ! 最新時刻の URL 取得
4020  ! Get URL of latest time
4021  !
4022  call lookup_growable_url(file_work, varname, url, range, &
4023  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
4024  if ( present_and_true(err) ) then
4025  stat = gt_enoturl
4026  cause_c = url
4027  goto 999
4028  end if
4029  ! ファイルオープン
4030  ! File open
4031  call open( var, url, err = err )
4032  if ( present_and_true(err) ) then
4033  stat = gt_enoturl
4034  cause_c = url
4035  goto 999
4036  end if
4037  !-------------------------------------------------------------------
4038  ! 配列形状のチェック
4039  ! Check array shape
4040  !-------------------------------------------------------------------
4041  ! 入力ファイル中のデータの次元数
4042  ! Get size of dimesions in data of an input file
4043  !
4044  call inquire( var = var, & ! (in)
4045  & rank = rank, alldims = alldims ) ! (out)
4046  ! 引数の次元数のチェック (縮退されている場合には減らす)
4047  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
4048  array_rank = 4
4049  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
4050  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
4051  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
4052  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
4053  ! 次元数の比較
4054  ! Compare sizes of dimensions
4055  !
4056  if ( .not. 4 == rank .and. .not. array_rank == rank ) then
4057  if ( .not. present_and_true(quiet) ) then
4058  call messagenotify('W', subname, &
4059  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
4060  & i = (/rank, 4/), c1 = trim(url) )
4061  end if
4062  stat = gt_erankmismatch
4063  cause_c = 'array'
4064  goto 999
4065  end if
4066  ! 入力ファイル中のデータの配列形状取得
4067  ! Get shape of data in an input file
4068  call inquire( var = var , dimord = 1, & ! (in)
4069  & allcount = allcount, err = inq_err ) ! (out)
4070  if ( .not. inq_err ) then
4071  data_shape(1) = allcount
4072  else
4073  data_shape(1) = 1
4074  end if
4075  call inquire( var = var , dimord = 2, & ! (in)
4076  & allcount = allcount, err = inq_err ) ! (out)
4077  if ( .not. inq_err ) then
4078  data_shape(2) = allcount
4079  else
4080  data_shape(2) = 1
4081  end if
4082  call inquire( var = var , dimord = 3, & ! (in)
4083  & allcount = allcount, err = inq_err ) ! (out)
4084  if ( .not. inq_err ) then
4085  data_shape(3) = allcount
4086  else
4087  data_shape(3) = 1
4088  end if
4089  call inquire( var = var , dimord = 4, & ! (in)
4090  & allcount = allcount, err = inq_err ) ! (out)
4091  if ( .not. inq_err ) then
4092  data_shape(4) = allcount
4093  else
4094  data_shape(4) = 1
4095  end if
4096  ! 引数の配列形状整形
4097  ! Arrange shape of an argument
4098  !
4099  array_shape_check = array_shape
4100  sd = 1
4101  do i = 1, 4 - 1
4102  if ( array_shape_check(sd) == 1 ) then
4103  array_shape_check(sd:4) = cshift( array_shape_check(sd:4), 1, 1 )
4104  else
4105  sd = sd + 1
4106  end if
4107  end do
4108  ! 配列形状の比較
4109  ! Compare shapes
4110  !
4111  if ( .not. all( array_shape_check == data_shape ) ) then
4112  if ( .not. present_and_true(quiet) ) then
4113  call messagenotify('W', subname, &
4114  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
4115  & c1 = trim( url ), &
4116  & c2 = trim( tochar( data_shape(1:rank) ) ), &
4117  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
4118  end if
4119  stat = gt_eargsizemismatch
4120  cause_c = 'array'
4121  goto 999
4122  end if
4123  !-------------------------------------
4124  ! データ取得
4125  ! Get data
4126  call inquire( var = var, & ! (in)
4127  & size = domain ) ! (out)
4128  if ( allocated( array_tmp ) ) deallocate( array_tmp )
4129  allocate( array_tmp(array_allsize) )
4130  call get( var, array_tmp, domain )
4131  array = reshape( array_tmp, array_shape )
4132  deallocate( array_tmp )
4133  call close( var )
4134  !-------------------------------------
4135  ! データファイル名と切り出し範囲の印字
4136  ! Print data filename and clipping range
4137  call actual_iorange_dump(url, & ! (in)
4138  & actual_url, returned_time, & ! (out) optional
4139  & time_name = tname, & ! (in) optional
4140  & err = err) ! (out) optional
4141  if ( .not. present_and_true(quiet) ) then
4142  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
4143  end if
4144 999 continue
4145  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint4pointer()

subroutine historygetint4pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6401 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetint4pointertimed(), historygetint4pointertimei(), and historygetint4pointertimer().

6401  use gtdata_types, only: gt_variable
6402  use gtdata_generic, only: open, inquire, close, get
6403  use dc_string, only: tochar
6405  use dc_types, only: string, dp
6406  use dc_message, only: messagenotify
6407  use dc_trace, only: dbgmessage
6408  implicit none
6409  character(*), intent(in):: file
6410  character(*), intent(in):: varname
6411  character(*), intent(in), optional:: range
6412  logical, intent(in), optional:: quiet
6413  logical, intent(in), optional:: flag_mpi_split
6414  real(DP), intent(out), optional:: returned_time ! データの時刻
6415  logical, intent(out), optional:: flag_time_exist
6416  logical, intent(out), optional:: err
6417  integer:: domain
6418  integer, pointer :: array(:,:,:,:) ! (out)
6419  integer, target :: array_tmp(1)
6420  type(gt_variable):: var
6421  character(STRING):: file_work, url, actual_url
6422  character(STRING):: tname
6423  character(*), parameter :: subname = "HistoryGetInt4Pointer"
6424  interface
6425  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6426  character(*), intent(in):: file
6427  character(*), intent(in):: varname
6428  character(*), intent(out):: url
6429  character(*), intent(in), optional:: range
6430  logical, intent(out), optional:: flag_time_exist
6431  character(*), intent(out), optional:: time_name
6432  logical, intent(out), optional:: err
6433  end subroutine lookup_growable_url
6434  end interface
6435  interface
6436  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6437  use dc_types, only: dp
6438  character(*), intent(in) :: url ! 変数 URL
6439  character(*), intent(out), optional :: actual_url
6440  ! 正確な入出力範囲指定
6441  real(DP), intent(out), optional:: returned_time ! データの時刻
6442  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6443  logical, intent(out), optional :: err ! エラーのフラグ
6444  end subroutine actual_iorange_dump
6445  end interface
6446  interface
6447  function file_rename_mpi( file ) result(result)
6448  use dc_types, only: string
6449  character(*), intent(in):: file
6450  character(STRING):: result
6451  end function file_rename_mpi
6452  end interface
6453  continue
6454  file_work = file
6455  ! ファイル名の変更 (MPI 用)
6456  ! Change filename (for MPI)
6457  !
6458  if ( present_and_true( flag_mpi_split ) ) &
6459  & file_work = file_rename_mpi( file_work )
6460  ! 必要な情報を gtool 変数化
6461  !
6462  call lookup_growable_url(file_work, varname, url, range, &
6463  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6464  call dbgmessage('@ url =%c', c1=trim(url))
6465  ! いよいよデータ取得
6466  !
6467  call open(var, url, err)
6468  call get(var, array, err)
6469  call close(var, err)
6470  call actual_iorange_dump(url, & ! (in)
6471  & actual_url, returned_time, & ! (out) optional
6472  & time_name = tname, & ! (in) optional
6473  & err = err) ! (out) optional
6474  if ( .not. present_and_true(quiet) ) then
6475  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6476  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint4pointertimed()

subroutine historygetint4pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13710 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13710  use dc_string, only: tochar, split
13711  use dc_types, only: string, dp
13712  use dc_trace, only: dbgmessage
13713  use dc_url, only: url_chop_iorange, gt_equal
13714  use dc_present, only: present_and_true
13715  implicit none
13716  character(*), intent(in):: file, varname
13717  real(DP), intent(in):: time
13718  logical, intent(in), optional:: quiet
13719  integer, pointer :: array(:,:,:,:)
13720  logical, intent(in), optional:: flag_mpi_split
13721  real(DP), intent(out), optional:: returned_time
13722  logical, intent(out), optional:: flag_time_exist
13723  logical, intent(out), optional:: err
13724  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13725  character(STRING), pointer:: carray (:)
13726  character(STRING):: tname
13727  character(*), parameter :: subname = "HistoryGetInt4TimeD"
13728  interface
13729  subroutine historygetint4pointer(&
13730  & file, varname, array, range, quiet, &
13731  & flag_mpi_split, returned_time, flag_time_exist, err)
13732  use dc_types, only: dp
13733  character(*), intent(in):: file
13734  character(*), intent(in):: varname
13735  character(*), intent(in), optional:: range
13736  logical, intent(in), optional:: quiet
13737  logical, intent(in), optional:: flag_mpi_split
13738  real(DP), intent(out), optional:: returned_time
13739  logical, intent(out), optional:: flag_time_exist
13740  logical, intent(out), optional:: err
13741  integer, pointer :: array(:,:,:,:)
13742  end subroutine historygetint4pointer
13743  end interface
13744  interface
13745  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13746  character(*), intent(in):: file
13747  character(*), intent(in):: varname
13748  character(*), intent(out):: url
13749  character(*), intent(in), optional:: range
13750  logical, intent(out), optional:: flag_time_exist
13751  character(*), intent(out), optional:: time_name
13752  logical, intent(out), optional:: err
13753  end subroutine lookup_growable_url
13754  end interface
13755  interface
13756  function file_rename_mpi( file ) result(result)
13757  use dc_types, only: string
13758  character(*), intent(in):: file
13759  character(STRING):: result
13760  end function file_rename_mpi
13761  end interface
13762  continue
13763  file_work = file
13764  if ( present_and_true( flag_mpi_split ) ) &
13765  & file_work = file_rename_mpi( file_work )
13766  call lookup_growable_url(file = file_work, varname = varname, &
13767  & url = url, &
13768  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13769  call url_chop_iorange( &
13770  & fullname = url, iorange = iorange, remainder = remainder )
13771  call split( str = iorange, carray = carray, sep = gt_equal )
13772  timevar_name = carray(1)
13773  deallocate( carray )
13774  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13775  call historygetint4pointer( file = file, &
13776  & varname = varname, array = array, &
13777  & range = time_range, quiet = quiet, &
13778  & flag_mpi_split = flag_mpi_split, &
13779  & returned_time = returned_time, &
13780  & flag_time_exist = flag_time_exist, &
13781  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint4pointertimei()

subroutine historygetint4pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 17358 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

17358  use dc_string, only: tochar, split
17359  use dc_types, only: string, dp
17360  use dc_trace, only: dbgmessage
17361  use dc_url, only: url_chop_iorange, gt_equal
17362  use dc_present, only: present_and_true
17363  implicit none
17364  character(*), intent(in):: file, varname
17365  integer, intent(in):: time
17366  logical, intent(in), optional:: quiet
17367  integer, pointer :: array(:,:,:,:)
17368  logical, intent(in), optional:: flag_mpi_split
17369  real(DP), intent(out), optional:: returned_time
17370  logical, intent(out), optional:: flag_time_exist
17371  logical, intent(out), optional:: err
17372  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
17373  character(STRING), pointer:: carray (:)
17374  character(STRING):: tname
17375  character(*), parameter :: subname = "HistoryGetInt4TimeI"
17376  interface
17377  subroutine historygetint4pointer(&
17378  & file, varname, array, range, quiet, &
17379  & flag_mpi_split, returned_time, flag_time_exist, err)
17380  use dc_types, only: dp
17381  character(*), intent(in):: file
17382  character(*), intent(in):: varname
17383  character(*), intent(in), optional:: range
17384  logical, intent(in), optional:: quiet
17385  logical, intent(in), optional:: flag_mpi_split
17386  real(DP), intent(out), optional:: returned_time
17387  logical, intent(out), optional:: flag_time_exist
17388  logical, intent(out), optional:: err
17389  integer, pointer :: array(:,:,:,:)
17390  end subroutine historygetint4pointer
17391  end interface
17392  interface
17393  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17394  character(*), intent(in):: file
17395  character(*), intent(in):: varname
17396  character(*), intent(out):: url
17397  character(*), intent(in), optional:: range
17398  logical, intent(out), optional:: flag_time_exist
17399  character(*), intent(out), optional:: time_name
17400  logical, intent(out), optional:: err
17401  end subroutine lookup_growable_url
17402  end interface
17403  interface
17404  function file_rename_mpi( file ) result(result)
17405  use dc_types, only: string
17406  character(*), intent(in):: file
17407  character(STRING):: result
17408  end function file_rename_mpi
17409  end interface
17410  continue
17411  file_work = file
17412  if ( present_and_true( flag_mpi_split ) ) &
17413  & file_work = file_rename_mpi( file_work )
17414  call lookup_growable_url(file = file_work, varname = varname, &
17415  & url = url, &
17416  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17417  call url_chop_iorange( &
17418  & fullname = url, iorange = iorange, remainder = remainder )
17419  call split( str = iorange, carray = carray, sep = gt_equal )
17420  timevar_name = carray(1)
17421  deallocate( carray )
17422  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17423  call historygetint4pointer( file = file, &
17424  & varname = varname, array = array, &
17425  & range = time_range, quiet = quiet, &
17426  & flag_mpi_split = flag_mpi_split, &
17427  & returned_time = returned_time, &
17428  & flag_time_exist = flag_time_exist, &
17429  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint4pointertimer()

subroutine historygetint4pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10062 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

10062  use dc_string, only: tochar, split
10063  use dc_types, only: string, dp, sp
10064  use dc_trace, only: dbgmessage
10065  use dc_url, only: url_chop_iorange, gt_equal
10066  use dc_present, only: present_and_true
10067  implicit none
10068  character(*), intent(in):: file, varname
10069  real(SP), intent(in):: time
10070  logical, intent(in), optional:: quiet
10071  integer, pointer :: array(:,:,:,:)
10072  logical, intent(in), optional:: flag_mpi_split
10073  real(DP), intent(out), optional:: returned_time
10074  logical, intent(out), optional:: flag_time_exist
10075  logical, intent(out), optional:: err
10076  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10077  character(STRING), pointer:: carray (:)
10078  character(STRING):: tname
10079  character(*), parameter :: subname = "HistoryGetInt4TimeR"
10080  interface
10081  subroutine historygetint4pointer(&
10082  & file, varname, array, range, quiet, &
10083  & flag_mpi_split, returned_time, flag_time_exist, err)
10084  use dc_types, only: dp
10085  character(*), intent(in):: file
10086  character(*), intent(in):: varname
10087  character(*), intent(in), optional:: range
10088  logical, intent(in), optional:: quiet
10089  logical, intent(in), optional:: flag_mpi_split
10090  real(DP), intent(out), optional:: returned_time
10091  logical, intent(out), optional:: flag_time_exist
10092  logical, intent(out), optional:: err
10093  integer, pointer :: array(:,:,:,:)
10094  end subroutine historygetint4pointer
10095  end interface
10096  interface
10097  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10098  character(*), intent(in):: file
10099  character(*), intent(in):: varname
10100  character(*), intent(out):: url
10101  character(*), intent(in), optional:: range
10102  logical, intent(out), optional:: flag_time_exist
10103  character(*), intent(out), optional:: time_name
10104  logical, intent(out), optional:: err
10105  end subroutine lookup_growable_url
10106  end interface
10107  interface
10108  function file_rename_mpi( file ) result(result)
10109  use dc_types, only: string
10110  character(*), intent(in):: file
10111  character(STRING):: result
10112  end function file_rename_mpi
10113  end interface
10114  continue
10115  file_work = file
10116  if ( present_and_true( flag_mpi_split ) ) &
10117  & file_work = file_rename_mpi( file_work )
10118  call lookup_growable_url(file = file_work, varname = varname, &
10119  & url = url, &
10120  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10121  call url_chop_iorange( &
10122  & fullname = url, iorange = iorange, remainder = remainder )
10123  call split( str = iorange, carray = carray, sep = gt_equal )
10124  timevar_name = carray(1)
10125  deallocate( carray )
10126  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10127  call historygetint4pointer( file = file, &
10128  & varname = varname, array = array, &
10129  & range = time_range, quiet = quiet, &
10130  & flag_mpi_split = flag_mpi_split, &
10131  & returned_time = returned_time, &
10132  & flag_time_exist = flag_time_exist, &
10133  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetint4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint4timed()

subroutine historygetint4timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13102 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13102  use dc_string, only: tochar, split
13103  use dc_types, only: string, dp
13104  use dc_trace, only: dbgmessage
13105  use dc_url, only: url_chop_iorange, gt_equal
13106  use dc_present, only: present_and_true
13107  implicit none
13108  character(*), intent(in):: file, varname
13109  real(DP), intent(in):: time
13110  logical, intent(in), optional:: quiet
13111  integer, intent(out) :: array(:,:,:,:)
13112  logical, intent(in), optional:: flag_mpi_split
13113  real(DP), intent(out), optional:: returned_time
13114  logical, intent(out), optional:: flag_time_exist
13115  logical, intent(out), optional:: err
13116  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13117  character(STRING), pointer:: carray (:)
13118  character(STRING):: tname
13119  character(*), parameter :: subname = "HistoryGetInt4TimeD"
13120  interface
13121  subroutine historygetint4(&
13122  & file, varname, array, range, quiet, &
13123  & flag_mpi_split, returned_time, flag_time_exist, err)
13124  use dc_types, only: dp
13125  character(*), intent(in):: file
13126  character(*), intent(in):: varname
13127  character(*), intent(in), optional:: range
13128  logical, intent(in), optional:: quiet
13129  logical, intent(in), optional:: flag_mpi_split
13130  real(DP), intent(out), optional:: returned_time
13131  logical, intent(out), optional:: flag_time_exist
13132  logical, intent(out), optional:: err
13133  integer, intent(out) :: array(:,:,:,:)
13134  end subroutine historygetint4
13135  end interface
13136  interface
13137  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13138  character(*), intent(in):: file
13139  character(*), intent(in):: varname
13140  character(*), intent(out):: url
13141  character(*), intent(in), optional:: range
13142  logical, intent(out), optional:: flag_time_exist
13143  character(*), intent(out), optional:: time_name
13144  logical, intent(out), optional:: err
13145  end subroutine lookup_growable_url
13146  end interface
13147  interface
13148  function file_rename_mpi( file ) result(result)
13149  use dc_types, only: string
13150  character(*), intent(in):: file
13151  character(STRING):: result
13152  end function file_rename_mpi
13153  end interface
13154  continue
13155  file_work = file
13156  if ( present_and_true( flag_mpi_split ) ) &
13157  & file_work = file_rename_mpi( file_work )
13158  call lookup_growable_url(file = file_work, varname = varname, &
13159  & url = url, &
13160  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13161  call url_chop_iorange( &
13162  & fullname = url, iorange = iorange, remainder = remainder )
13163  call split( str = iorange, carray = carray, sep = gt_equal )
13164  timevar_name = carray(1)
13165  deallocate( carray )
13166  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13167  call historygetint4( file = file, &
13168  & varname = varname, array = array, &
13169  & range = time_range, quiet = quiet, &
13170  & flag_mpi_split = flag_mpi_split, &
13171  & returned_time = returned_time, &
13172  & flag_time_exist = flag_time_exist, &
13173  & err = err )
subroutine historygetint4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint4timei()

subroutine historygetint4timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16750 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

16750  use dc_string, only: tochar, split
16751  use dc_types, only: string, dp
16752  use dc_trace, only: dbgmessage
16753  use dc_url, only: url_chop_iorange, gt_equal
16754  use dc_present, only: present_and_true
16755  implicit none
16756  character(*), intent(in):: file, varname
16757  integer, intent(in):: time
16758  logical, intent(in), optional:: quiet
16759  integer, intent(out) :: array(:,:,:,:)
16760  logical, intent(in), optional:: flag_mpi_split
16761  real(DP), intent(out), optional:: returned_time
16762  logical, intent(out), optional:: flag_time_exist
16763  logical, intent(out), optional:: err
16764  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16765  character(STRING), pointer:: carray (:)
16766  character(STRING):: tname
16767  character(*), parameter :: subname = "HistoryGetInt4TimeI"
16768  interface
16769  subroutine historygetint4(&
16770  & file, varname, array, range, quiet, &
16771  & flag_mpi_split, returned_time, flag_time_exist, err)
16772  use dc_types, only: dp
16773  character(*), intent(in):: file
16774  character(*), intent(in):: varname
16775  character(*), intent(in), optional:: range
16776  logical, intent(in), optional:: quiet
16777  logical, intent(in), optional:: flag_mpi_split
16778  real(DP), intent(out), optional:: returned_time
16779  logical, intent(out), optional:: flag_time_exist
16780  logical, intent(out), optional:: err
16781  integer, intent(out) :: array(:,:,:,:)
16782  end subroutine historygetint4
16783  end interface
16784  interface
16785  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16786  character(*), intent(in):: file
16787  character(*), intent(in):: varname
16788  character(*), intent(out):: url
16789  character(*), intent(in), optional:: range
16790  logical, intent(out), optional:: flag_time_exist
16791  character(*), intent(out), optional:: time_name
16792  logical, intent(out), optional:: err
16793  end subroutine lookup_growable_url
16794  end interface
16795  interface
16796  function file_rename_mpi( file ) result(result)
16797  use dc_types, only: string
16798  character(*), intent(in):: file
16799  character(STRING):: result
16800  end function file_rename_mpi
16801  end interface
16802  continue
16803  file_work = file
16804  if ( present_and_true( flag_mpi_split ) ) &
16805  & file_work = file_rename_mpi( file_work )
16806  call lookup_growable_url(file = file_work, varname = varname, &
16807  & url = url, &
16808  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16809  call url_chop_iorange( &
16810  & fullname = url, iorange = iorange, remainder = remainder )
16811  call split( str = iorange, carray = carray, sep = gt_equal )
16812  timevar_name = carray(1)
16813  deallocate( carray )
16814  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16815  call historygetint4( file = file, &
16816  & varname = varname, array = array, &
16817  & range = time_range, quiet = quiet, &
16818  & flag_mpi_split = flag_mpi_split, &
16819  & returned_time = returned_time, &
16820  & flag_time_exist = flag_time_exist, &
16821  & err = err )
subroutine historygetint4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint4timer()

subroutine historygetint4timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9454 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9454  use dc_string, only: tochar, split
9455  use dc_types, only: string, dp, sp
9456  use dc_trace, only: dbgmessage
9457  use dc_url, only: url_chop_iorange, gt_equal
9458  use dc_present, only: present_and_true
9459  implicit none
9460  character(*), intent(in):: file, varname
9461  real(SP), intent(in):: time
9462  logical, intent(in), optional:: quiet
9463  integer, intent(out) :: array(:,:,:,:)
9464  logical, intent(in), optional:: flag_mpi_split
9465  real(DP), intent(out), optional:: returned_time
9466  logical, intent(out), optional:: flag_time_exist
9467  logical, intent(out), optional:: err
9468  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9469  character(STRING), pointer:: carray (:)
9470  character(STRING):: tname
9471  character(*), parameter :: subname = "HistoryGetInt4TimeR"
9472  interface
9473  subroutine historygetint4(&
9474  & file, varname, array, range, quiet, &
9475  & flag_mpi_split, returned_time, flag_time_exist, err)
9476  use dc_types, only: dp
9477  character(*), intent(in):: file
9478  character(*), intent(in):: varname
9479  character(*), intent(in), optional:: range
9480  logical, intent(in), optional:: quiet
9481  logical, intent(in), optional:: flag_mpi_split
9482  real(DP), intent(out), optional:: returned_time
9483  logical, intent(out), optional:: flag_time_exist
9484  logical, intent(out), optional:: err
9485  integer, intent(out) :: array(:,:,:,:)
9486  end subroutine historygetint4
9487  end interface
9488  interface
9489  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9490  character(*), intent(in):: file
9491  character(*), intent(in):: varname
9492  character(*), intent(out):: url
9493  character(*), intent(in), optional:: range
9494  logical, intent(out), optional:: flag_time_exist
9495  character(*), intent(out), optional:: time_name
9496  logical, intent(out), optional:: err
9497  end subroutine lookup_growable_url
9498  end interface
9499  interface
9500  function file_rename_mpi( file ) result(result)
9501  use dc_types, only: string
9502  character(*), intent(in):: file
9503  character(STRING):: result
9504  end function file_rename_mpi
9505  end interface
9506  continue
9507  file_work = file
9508  if ( present_and_true( flag_mpi_split ) ) &
9509  & file_work = file_rename_mpi( file_work )
9510  call lookup_growable_url(file = file_work, varname = varname, &
9511  & url = url, &
9512  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9513  call url_chop_iorange( &
9514  & fullname = url, iorange = iorange, remainder = remainder )
9515  call split( str = iorange, carray = carray, sep = gt_equal )
9516  timevar_name = carray(1)
9517  deallocate( carray )
9518  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9519  call historygetint4( file = file, &
9520  & varname = varname, array = array, &
9521  & range = time_range, quiet = quiet, &
9522  & flag_mpi_split = flag_mpi_split, &
9523  & returned_time = returned_time, &
9524  & flag_time_exist = flag_time_exist, &
9525  & err = err )
subroutine historygetint4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint5()

subroutine historygetint5 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 4149 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetint5timed(), historygetint5timei(), and historygetint5timer().

4149  use gtdata_types, only: gt_variable
4150  use gtdata_generic, only: open, inquire, close, get
4151  use dc_string, only: tochar, split, joinchar, stoa
4154  use dc_regex, only: match
4155  use dc_types, only: string, dp
4156  use dc_message, only: messagenotify
4157  use dc_trace, only: dbgmessage
4160  implicit none
4161  character(*), intent(in):: file
4162  character(*), intent(in):: varname
4163  character(*), intent(in), optional:: range
4164  logical, intent(in), optional:: quiet
4165  logical, intent(in), optional:: flag_mpi_split
4166  real(DP), intent(out), optional:: returned_time ! データの時刻
4167  logical, intent(out), optional:: flag_time_exist
4168  logical, intent(out), optional:: err
4169  integer, intent(out) :: array(:,:,:,:,:)
4170  integer, allocatable :: array_tmp(:)
4171  integer:: array_allsize
4172  integer:: array_shape(5), data_shape(5), array_shape_check(5)
4173  integer:: allcount
4174  integer:: i, sd
4175  logical:: inq_err
4176  type(gt_variable):: var
4177  character(STRING):: file_work, url, actual_url
4178  integer:: rank, alldims, array_rank
4179  integer:: domain
4180  character(STRING):: tname
4181  integer:: stat
4182  character(STRING):: cause_c
4183  character(*), parameter :: subname = "HistoryGetInt5"
4184  interface
4185  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
4186  character(*), intent(in):: file
4187  character(*), intent(in):: varname
4188  character(*), intent(out):: url
4189  character(*), intent(in), optional:: range
4190  logical, intent(out), optional:: flag_time_exist
4191  character(*), intent(out), optional:: time_name
4192  logical, intent(out), optional:: err
4193  end subroutine lookup_growable_url
4194  end interface
4195  interface
4196  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
4197  use dc_types, only: dp
4198  character(*), intent(in) :: url ! 変数 URL
4199  character(*), intent(out), optional :: actual_url
4200  ! 正確な入出力範囲指定
4201  real(DP), intent(out), optional:: returned_time ! データの時刻
4202  character(*), intent(in), optional:: time_name ! 時刻次元の名称
4203  logical, intent(out), optional :: err ! エラーのフラグ
4204  end subroutine actual_iorange_dump
4205  end interface
4206  interface
4207  function file_rename_mpi( file ) result(result)
4208  use dc_types, only: string
4209  character(*), intent(in):: file
4210  character(STRING):: result
4211  end function file_rename_mpi
4212  end interface
4213  continue
4214  cause_c = ''
4215  stat = dc_noerr
4216  file_work = file
4217  array_shape = shape( array )
4218  array_allsize = size( array )
4219  ! ファイル名の変更 (MPI 用)
4220  ! Change filename (for MPI)
4221  !
4222  if ( present_and_true( flag_mpi_split ) ) &
4223  & file_work = file_rename_mpi( file_work )
4224  ! 最新時刻の URL 取得
4225  ! Get URL of latest time
4226  !
4227  call lookup_growable_url(file_work, varname, url, range, &
4228  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
4229  if ( present_and_true(err) ) then
4230  stat = gt_enoturl
4231  cause_c = url
4232  goto 999
4233  end if
4234  ! ファイルオープン
4235  ! File open
4236  call open( var, url, err = err )
4237  if ( present_and_true(err) ) then
4238  stat = gt_enoturl
4239  cause_c = url
4240  goto 999
4241  end if
4242  !-------------------------------------------------------------------
4243  ! 配列形状のチェック
4244  ! Check array shape
4245  !-------------------------------------------------------------------
4246  ! 入力ファイル中のデータの次元数
4247  ! Get size of dimesions in data of an input file
4248  !
4249  call inquire( var = var, & ! (in)
4250  & rank = rank, alldims = alldims ) ! (out)
4251  ! 引数の次元数のチェック (縮退されている場合には減らす)
4252  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
4253  array_rank = 5
4254  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
4255  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
4256  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
4257  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
4258  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
4259  ! 次元数の比較
4260  ! Compare sizes of dimensions
4261  !
4262  if ( .not. 5 == rank .and. .not. array_rank == rank ) then
4263  if ( .not. present_and_true(quiet) ) then
4264  call messagenotify('W', subname, &
4265  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
4266  & i = (/rank, 5/), c1 = trim(url) )
4267  end if
4268  stat = gt_erankmismatch
4269  cause_c = 'array'
4270  goto 999
4271  end if
4272  ! 入力ファイル中のデータの配列形状取得
4273  ! Get shape of data in an input file
4274  call inquire( var = var , dimord = 1, & ! (in)
4275  & allcount = allcount, err = inq_err ) ! (out)
4276  if ( .not. inq_err ) then
4277  data_shape(1) = allcount
4278  else
4279  data_shape(1) = 1
4280  end if
4281  call inquire( var = var , dimord = 2, & ! (in)
4282  & allcount = allcount, err = inq_err ) ! (out)
4283  if ( .not. inq_err ) then
4284  data_shape(2) = allcount
4285  else
4286  data_shape(2) = 1
4287  end if
4288  call inquire( var = var , dimord = 3, & ! (in)
4289  & allcount = allcount, err = inq_err ) ! (out)
4290  if ( .not. inq_err ) then
4291  data_shape(3) = allcount
4292  else
4293  data_shape(3) = 1
4294  end if
4295  call inquire( var = var , dimord = 4, & ! (in)
4296  & allcount = allcount, err = inq_err ) ! (out)
4297  if ( .not. inq_err ) then
4298  data_shape(4) = allcount
4299  else
4300  data_shape(4) = 1
4301  end if
4302  call inquire( var = var , dimord = 5, & ! (in)
4303  & allcount = allcount, err = inq_err ) ! (out)
4304  if ( .not. inq_err ) then
4305  data_shape(5) = allcount
4306  else
4307  data_shape(5) = 1
4308  end if
4309  ! 引数の配列形状整形
4310  ! Arrange shape of an argument
4311  !
4312  array_shape_check = array_shape
4313  sd = 1
4314  do i = 1, 5 - 1
4315  if ( array_shape_check(sd) == 1 ) then
4316  array_shape_check(sd:5) = cshift( array_shape_check(sd:5), 1, 1 )
4317  else
4318  sd = sd + 1
4319  end if
4320  end do
4321  ! 配列形状の比較
4322  ! Compare shapes
4323  !
4324  if ( .not. all( array_shape_check == data_shape ) ) then
4325  if ( .not. present_and_true(quiet) ) then
4326  call messagenotify('W', subname, &
4327  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
4328  & c1 = trim( url ), &
4329  & c2 = trim( tochar( data_shape(1:rank) ) ), &
4330  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
4331  end if
4332  stat = gt_eargsizemismatch
4333  cause_c = 'array'
4334  goto 999
4335  end if
4336  !-------------------------------------
4337  ! データ取得
4338  ! Get data
4339  call inquire( var = var, & ! (in)
4340  & size = domain ) ! (out)
4341  if ( allocated( array_tmp ) ) deallocate( array_tmp )
4342  allocate( array_tmp(array_allsize) )
4343  call get( var, array_tmp, domain )
4344  array = reshape( array_tmp, array_shape )
4345  deallocate( array_tmp )
4346  call close( var )
4347  !-------------------------------------
4348  ! データファイル名と切り出し範囲の印字
4349  ! Print data filename and clipping range
4350  call actual_iorange_dump(url, & ! (in)
4351  & actual_url, returned_time, & ! (out) optional
4352  & time_name = tname, & ! (in) optional
4353  & err = err) ! (out) optional
4354  if ( .not. present_and_true(quiet) ) then
4355  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
4356  end if
4357 999 continue
4358  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint5pointer()

subroutine historygetint5pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6480 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetint5pointertimed(), historygetint5pointertimei(), and historygetint5pointertimer().

6480  use gtdata_types, only: gt_variable
6481  use gtdata_generic, only: open, inquire, close, get
6482  use dc_string, only: tochar
6484  use dc_types, only: string, dp
6485  use dc_message, only: messagenotify
6486  use dc_trace, only: dbgmessage
6487  implicit none
6488  character(*), intent(in):: file
6489  character(*), intent(in):: varname
6490  character(*), intent(in), optional:: range
6491  logical, intent(in), optional:: quiet
6492  logical, intent(in), optional:: flag_mpi_split
6493  real(DP), intent(out), optional:: returned_time ! データの時刻
6494  logical, intent(out), optional:: flag_time_exist
6495  logical, intent(out), optional:: err
6496  integer:: domain
6497  integer, pointer :: array(:,:,:,:,:) ! (out)
6498  integer, target :: array_tmp(1)
6499  type(gt_variable):: var
6500  character(STRING):: file_work, url, actual_url
6501  character(STRING):: tname
6502  character(*), parameter :: subname = "HistoryGetInt5Pointer"
6503  interface
6504  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6505  character(*), intent(in):: file
6506  character(*), intent(in):: varname
6507  character(*), intent(out):: url
6508  character(*), intent(in), optional:: range
6509  logical, intent(out), optional:: flag_time_exist
6510  character(*), intent(out), optional:: time_name
6511  logical, intent(out), optional:: err
6512  end subroutine lookup_growable_url
6513  end interface
6514  interface
6515  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6516  use dc_types, only: dp
6517  character(*), intent(in) :: url ! 変数 URL
6518  character(*), intent(out), optional :: actual_url
6519  ! 正確な入出力範囲指定
6520  real(DP), intent(out), optional:: returned_time ! データの時刻
6521  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6522  logical, intent(out), optional :: err ! エラーのフラグ
6523  end subroutine actual_iorange_dump
6524  end interface
6525  interface
6526  function file_rename_mpi( file ) result(result)
6527  use dc_types, only: string
6528  character(*), intent(in):: file
6529  character(STRING):: result
6530  end function file_rename_mpi
6531  end interface
6532  continue
6533  file_work = file
6534  ! ファイル名の変更 (MPI 用)
6535  ! Change filename (for MPI)
6536  !
6537  if ( present_and_true( flag_mpi_split ) ) &
6538  & file_work = file_rename_mpi( file_work )
6539  ! 必要な情報を gtool 変数化
6540  !
6541  call lookup_growable_url(file_work, varname, url, range, &
6542  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6543  call dbgmessage('@ url =%c', c1=trim(url))
6544  ! いよいよデータ取得
6545  !
6546  call open(var, url, err)
6547  call get(var, array, err)
6548  call close(var, err)
6549  call actual_iorange_dump(url, & ! (in)
6550  & actual_url, returned_time, & ! (out) optional
6551  & time_name = tname, & ! (in) optional
6552  & err = err) ! (out) optional
6553  if ( .not. present_and_true(quiet) ) then
6554  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6555  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint5pointertimed()

subroutine historygetint5pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13786 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13786  use dc_string, only: tochar, split
13787  use dc_types, only: string, dp
13788  use dc_trace, only: dbgmessage
13789  use dc_url, only: url_chop_iorange, gt_equal
13790  use dc_present, only: present_and_true
13791  implicit none
13792  character(*), intent(in):: file, varname
13793  real(DP), intent(in):: time
13794  logical, intent(in), optional:: quiet
13795  integer, pointer :: array(:,:,:,:,:)
13796  logical, intent(in), optional:: flag_mpi_split
13797  real(DP), intent(out), optional:: returned_time
13798  logical, intent(out), optional:: flag_time_exist
13799  logical, intent(out), optional:: err
13800  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13801  character(STRING), pointer:: carray (:)
13802  character(STRING):: tname
13803  character(*), parameter :: subname = "HistoryGetInt5TimeD"
13804  interface
13805  subroutine historygetint5pointer(&
13806  & file, varname, array, range, quiet, &
13807  & flag_mpi_split, returned_time, flag_time_exist, err)
13808  use dc_types, only: dp
13809  character(*), intent(in):: file
13810  character(*), intent(in):: varname
13811  character(*), intent(in), optional:: range
13812  logical, intent(in), optional:: quiet
13813  logical, intent(in), optional:: flag_mpi_split
13814  real(DP), intent(out), optional:: returned_time
13815  logical, intent(out), optional:: flag_time_exist
13816  logical, intent(out), optional:: err
13817  integer, pointer :: array(:,:,:,:,:)
13818  end subroutine historygetint5pointer
13819  end interface
13820  interface
13821  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13822  character(*), intent(in):: file
13823  character(*), intent(in):: varname
13824  character(*), intent(out):: url
13825  character(*), intent(in), optional:: range
13826  logical, intent(out), optional:: flag_time_exist
13827  character(*), intent(out), optional:: time_name
13828  logical, intent(out), optional:: err
13829  end subroutine lookup_growable_url
13830  end interface
13831  interface
13832  function file_rename_mpi( file ) result(result)
13833  use dc_types, only: string
13834  character(*), intent(in):: file
13835  character(STRING):: result
13836  end function file_rename_mpi
13837  end interface
13838  continue
13839  file_work = file
13840  if ( present_and_true( flag_mpi_split ) ) &
13841  & file_work = file_rename_mpi( file_work )
13842  call lookup_growable_url(file = file_work, varname = varname, &
13843  & url = url, &
13844  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13845  call url_chop_iorange( &
13846  & fullname = url, iorange = iorange, remainder = remainder )
13847  call split( str = iorange, carray = carray, sep = gt_equal )
13848  timevar_name = carray(1)
13849  deallocate( carray )
13850  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13851  call historygetint5pointer( file = file, &
13852  & varname = varname, array = array, &
13853  & range = time_range, quiet = quiet, &
13854  & flag_mpi_split = flag_mpi_split, &
13855  & returned_time = returned_time, &
13856  & flag_time_exist = flag_time_exist, &
13857  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint5pointertimei()

subroutine historygetint5pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 17434 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

17434  use dc_string, only: tochar, split
17435  use dc_types, only: string, dp
17436  use dc_trace, only: dbgmessage
17437  use dc_url, only: url_chop_iorange, gt_equal
17438  use dc_present, only: present_and_true
17439  implicit none
17440  character(*), intent(in):: file, varname
17441  integer, intent(in):: time
17442  logical, intent(in), optional:: quiet
17443  integer, pointer :: array(:,:,:,:,:)
17444  logical, intent(in), optional:: flag_mpi_split
17445  real(DP), intent(out), optional:: returned_time
17446  logical, intent(out), optional:: flag_time_exist
17447  logical, intent(out), optional:: err
17448  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
17449  character(STRING), pointer:: carray (:)
17450  character(STRING):: tname
17451  character(*), parameter :: subname = "HistoryGetInt5TimeI"
17452  interface
17453  subroutine historygetint5pointer(&
17454  & file, varname, array, range, quiet, &
17455  & flag_mpi_split, returned_time, flag_time_exist, err)
17456  use dc_types, only: dp
17457  character(*), intent(in):: file
17458  character(*), intent(in):: varname
17459  character(*), intent(in), optional:: range
17460  logical, intent(in), optional:: quiet
17461  logical, intent(in), optional:: flag_mpi_split
17462  real(DP), intent(out), optional:: returned_time
17463  logical, intent(out), optional:: flag_time_exist
17464  logical, intent(out), optional:: err
17465  integer, pointer :: array(:,:,:,:,:)
17466  end subroutine historygetint5pointer
17467  end interface
17468  interface
17469  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17470  character(*), intent(in):: file
17471  character(*), intent(in):: varname
17472  character(*), intent(out):: url
17473  character(*), intent(in), optional:: range
17474  logical, intent(out), optional:: flag_time_exist
17475  character(*), intent(out), optional:: time_name
17476  logical, intent(out), optional:: err
17477  end subroutine lookup_growable_url
17478  end interface
17479  interface
17480  function file_rename_mpi( file ) result(result)
17481  use dc_types, only: string
17482  character(*), intent(in):: file
17483  character(STRING):: result
17484  end function file_rename_mpi
17485  end interface
17486  continue
17487  file_work = file
17488  if ( present_and_true( flag_mpi_split ) ) &
17489  & file_work = file_rename_mpi( file_work )
17490  call lookup_growable_url(file = file_work, varname = varname, &
17491  & url = url, &
17492  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17493  call url_chop_iorange( &
17494  & fullname = url, iorange = iorange, remainder = remainder )
17495  call split( str = iorange, carray = carray, sep = gt_equal )
17496  timevar_name = carray(1)
17497  deallocate( carray )
17498  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17499  call historygetint5pointer( file = file, &
17500  & varname = varname, array = array, &
17501  & range = time_range, quiet = quiet, &
17502  & flag_mpi_split = flag_mpi_split, &
17503  & returned_time = returned_time, &
17504  & flag_time_exist = flag_time_exist, &
17505  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint5pointertimer()

subroutine historygetint5pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10138 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

10138  use dc_string, only: tochar, split
10139  use dc_types, only: string, dp, sp
10140  use dc_trace, only: dbgmessage
10141  use dc_url, only: url_chop_iorange, gt_equal
10142  use dc_present, only: present_and_true
10143  implicit none
10144  character(*), intent(in):: file, varname
10145  real(SP), intent(in):: time
10146  logical, intent(in), optional:: quiet
10147  integer, pointer :: array(:,:,:,:,:)
10148  logical, intent(in), optional:: flag_mpi_split
10149  real(DP), intent(out), optional:: returned_time
10150  logical, intent(out), optional:: flag_time_exist
10151  logical, intent(out), optional:: err
10152  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10153  character(STRING), pointer:: carray (:)
10154  character(STRING):: tname
10155  character(*), parameter :: subname = "HistoryGetInt5TimeR"
10156  interface
10157  subroutine historygetint5pointer(&
10158  & file, varname, array, range, quiet, &
10159  & flag_mpi_split, returned_time, flag_time_exist, err)
10160  use dc_types, only: dp
10161  character(*), intent(in):: file
10162  character(*), intent(in):: varname
10163  character(*), intent(in), optional:: range
10164  logical, intent(in), optional:: quiet
10165  logical, intent(in), optional:: flag_mpi_split
10166  real(DP), intent(out), optional:: returned_time
10167  logical, intent(out), optional:: flag_time_exist
10168  logical, intent(out), optional:: err
10169  integer, pointer :: array(:,:,:,:,:)
10170  end subroutine historygetint5pointer
10171  end interface
10172  interface
10173  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10174  character(*), intent(in):: file
10175  character(*), intent(in):: varname
10176  character(*), intent(out):: url
10177  character(*), intent(in), optional:: range
10178  logical, intent(out), optional:: flag_time_exist
10179  character(*), intent(out), optional:: time_name
10180  logical, intent(out), optional:: err
10181  end subroutine lookup_growable_url
10182  end interface
10183  interface
10184  function file_rename_mpi( file ) result(result)
10185  use dc_types, only: string
10186  character(*), intent(in):: file
10187  character(STRING):: result
10188  end function file_rename_mpi
10189  end interface
10190  continue
10191  file_work = file
10192  if ( present_and_true( flag_mpi_split ) ) &
10193  & file_work = file_rename_mpi( file_work )
10194  call lookup_growable_url(file = file_work, varname = varname, &
10195  & url = url, &
10196  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10197  call url_chop_iorange( &
10198  & fullname = url, iorange = iorange, remainder = remainder )
10199  call split( str = iorange, carray = carray, sep = gt_equal )
10200  timevar_name = carray(1)
10201  deallocate( carray )
10202  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10203  call historygetint5pointer( file = file, &
10204  & varname = varname, array = array, &
10205  & range = time_range, quiet = quiet, &
10206  & flag_mpi_split = flag_mpi_split, &
10207  & returned_time = returned_time, &
10208  & flag_time_exist = flag_time_exist, &
10209  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint5timed()

subroutine historygetint5timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13178 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13178  use dc_string, only: tochar, split
13179  use dc_types, only: string, dp
13180  use dc_trace, only: dbgmessage
13181  use dc_url, only: url_chop_iorange, gt_equal
13182  use dc_present, only: present_and_true
13183  implicit none
13184  character(*), intent(in):: file, varname
13185  real(DP), intent(in):: time
13186  logical, intent(in), optional:: quiet
13187  integer, intent(out) :: array(:,:,:,:,:)
13188  logical, intent(in), optional:: flag_mpi_split
13189  real(DP), intent(out), optional:: returned_time
13190  logical, intent(out), optional:: flag_time_exist
13191  logical, intent(out), optional:: err
13192  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13193  character(STRING), pointer:: carray (:)
13194  character(STRING):: tname
13195  character(*), parameter :: subname = "HistoryGetInt5TimeD"
13196  interface
13197  subroutine historygetint5(&
13198  & file, varname, array, range, quiet, &
13199  & flag_mpi_split, returned_time, flag_time_exist, err)
13200  use dc_types, only: dp
13201  character(*), intent(in):: file
13202  character(*), intent(in):: varname
13203  character(*), intent(in), optional:: range
13204  logical, intent(in), optional:: quiet
13205  logical, intent(in), optional:: flag_mpi_split
13206  real(DP), intent(out), optional:: returned_time
13207  logical, intent(out), optional:: flag_time_exist
13208  logical, intent(out), optional:: err
13209  integer, intent(out) :: array(:,:,:,:,:)
13210  end subroutine historygetint5
13211  end interface
13212  interface
13213  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13214  character(*), intent(in):: file
13215  character(*), intent(in):: varname
13216  character(*), intent(out):: url
13217  character(*), intent(in), optional:: range
13218  logical, intent(out), optional:: flag_time_exist
13219  character(*), intent(out), optional:: time_name
13220  logical, intent(out), optional:: err
13221  end subroutine lookup_growable_url
13222  end interface
13223  interface
13224  function file_rename_mpi( file ) result(result)
13225  use dc_types, only: string
13226  character(*), intent(in):: file
13227  character(STRING):: result
13228  end function file_rename_mpi
13229  end interface
13230  continue
13231  file_work = file
13232  if ( present_and_true( flag_mpi_split ) ) &
13233  & file_work = file_rename_mpi( file_work )
13234  call lookup_growable_url(file = file_work, varname = varname, &
13235  & url = url, &
13236  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13237  call url_chop_iorange( &
13238  & fullname = url, iorange = iorange, remainder = remainder )
13239  call split( str = iorange, carray = carray, sep = gt_equal )
13240  timevar_name = carray(1)
13241  deallocate( carray )
13242  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13243  call historygetint5( file = file, &
13244  & varname = varname, array = array, &
13245  & range = time_range, quiet = quiet, &
13246  & flag_mpi_split = flag_mpi_split, &
13247  & returned_time = returned_time, &
13248  & flag_time_exist = flag_time_exist, &
13249  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint5timei()

subroutine historygetint5timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16826 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

16826  use dc_string, only: tochar, split
16827  use dc_types, only: string, dp
16828  use dc_trace, only: dbgmessage
16829  use dc_url, only: url_chop_iorange, gt_equal
16830  use dc_present, only: present_and_true
16831  implicit none
16832  character(*), intent(in):: file, varname
16833  integer, intent(in):: time
16834  logical, intent(in), optional:: quiet
16835  integer, intent(out) :: array(:,:,:,:,:)
16836  logical, intent(in), optional:: flag_mpi_split
16837  real(DP), intent(out), optional:: returned_time
16838  logical, intent(out), optional:: flag_time_exist
16839  logical, intent(out), optional:: err
16840  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16841  character(STRING), pointer:: carray (:)
16842  character(STRING):: tname
16843  character(*), parameter :: subname = "HistoryGetInt5TimeI"
16844  interface
16845  subroutine historygetint5(&
16846  & file, varname, array, range, quiet, &
16847  & flag_mpi_split, returned_time, flag_time_exist, err)
16848  use dc_types, only: dp
16849  character(*), intent(in):: file
16850  character(*), intent(in):: varname
16851  character(*), intent(in), optional:: range
16852  logical, intent(in), optional:: quiet
16853  logical, intent(in), optional:: flag_mpi_split
16854  real(DP), intent(out), optional:: returned_time
16855  logical, intent(out), optional:: flag_time_exist
16856  logical, intent(out), optional:: err
16857  integer, intent(out) :: array(:,:,:,:,:)
16858  end subroutine historygetint5
16859  end interface
16860  interface
16861  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16862  character(*), intent(in):: file
16863  character(*), intent(in):: varname
16864  character(*), intent(out):: url
16865  character(*), intent(in), optional:: range
16866  logical, intent(out), optional:: flag_time_exist
16867  character(*), intent(out), optional:: time_name
16868  logical, intent(out), optional:: err
16869  end subroutine lookup_growable_url
16870  end interface
16871  interface
16872  function file_rename_mpi( file ) result(result)
16873  use dc_types, only: string
16874  character(*), intent(in):: file
16875  character(STRING):: result
16876  end function file_rename_mpi
16877  end interface
16878  continue
16879  file_work = file
16880  if ( present_and_true( flag_mpi_split ) ) &
16881  & file_work = file_rename_mpi( file_work )
16882  call lookup_growable_url(file = file_work, varname = varname, &
16883  & url = url, &
16884  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16885  call url_chop_iorange( &
16886  & fullname = url, iorange = iorange, remainder = remainder )
16887  call split( str = iorange, carray = carray, sep = gt_equal )
16888  timevar_name = carray(1)
16889  deallocate( carray )
16890  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16891  call historygetint5( file = file, &
16892  & varname = varname, array = array, &
16893  & range = time_range, quiet = quiet, &
16894  & flag_mpi_split = flag_mpi_split, &
16895  & returned_time = returned_time, &
16896  & flag_time_exist = flag_time_exist, &
16897  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint5timer()

subroutine historygetint5timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9530 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9530  use dc_string, only: tochar, split
9531  use dc_types, only: string, dp, sp
9532  use dc_trace, only: dbgmessage
9533  use dc_url, only: url_chop_iorange, gt_equal
9534  use dc_present, only: present_and_true
9535  implicit none
9536  character(*), intent(in):: file, varname
9537  real(SP), intent(in):: time
9538  logical, intent(in), optional:: quiet
9539  integer, intent(out) :: array(:,:,:,:,:)
9540  logical, intent(in), optional:: flag_mpi_split
9541  real(DP), intent(out), optional:: returned_time
9542  logical, intent(out), optional:: flag_time_exist
9543  logical, intent(out), optional:: err
9544  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9545  character(STRING), pointer:: carray (:)
9546  character(STRING):: tname
9547  character(*), parameter :: subname = "HistoryGetInt5TimeR"
9548  interface
9549  subroutine historygetint5(&
9550  & file, varname, array, range, quiet, &
9551  & flag_mpi_split, returned_time, flag_time_exist, err)
9552  use dc_types, only: dp
9553  character(*), intent(in):: file
9554  character(*), intent(in):: varname
9555  character(*), intent(in), optional:: range
9556  logical, intent(in), optional:: quiet
9557  logical, intent(in), optional:: flag_mpi_split
9558  real(DP), intent(out), optional:: returned_time
9559  logical, intent(out), optional:: flag_time_exist
9560  logical, intent(out), optional:: err
9561  integer, intent(out) :: array(:,:,:,:,:)
9562  end subroutine historygetint5
9563  end interface
9564  interface
9565  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9566  character(*), intent(in):: file
9567  character(*), intent(in):: varname
9568  character(*), intent(out):: url
9569  character(*), intent(in), optional:: range
9570  logical, intent(out), optional:: flag_time_exist
9571  character(*), intent(out), optional:: time_name
9572  logical, intent(out), optional:: err
9573  end subroutine lookup_growable_url
9574  end interface
9575  interface
9576  function file_rename_mpi( file ) result(result)
9577  use dc_types, only: string
9578  character(*), intent(in):: file
9579  character(STRING):: result
9580  end function file_rename_mpi
9581  end interface
9582  continue
9583  file_work = file
9584  if ( present_and_true( flag_mpi_split ) ) &
9585  & file_work = file_rename_mpi( file_work )
9586  call lookup_growable_url(file = file_work, varname = varname, &
9587  & url = url, &
9588  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9589  call url_chop_iorange( &
9590  & fullname = url, iorange = iorange, remainder = remainder )
9591  call split( str = iorange, carray = carray, sep = gt_equal )
9592  timevar_name = carray(1)
9593  deallocate( carray )
9594  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9595  call historygetint5( file = file, &
9596  & varname = varname, array = array, &
9597  & range = time_range, quiet = quiet, &
9598  & flag_mpi_split = flag_mpi_split, &
9599  & returned_time = returned_time, &
9600  & flag_time_exist = flag_time_exist, &
9601  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetint5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint6()

subroutine historygetint6 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 4362 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetint6timed(), historygetint6timei(), and historygetint6timer().

4362  use gtdata_types, only: gt_variable
4363  use gtdata_generic, only: open, inquire, close, get
4364  use dc_string, only: tochar, split, joinchar, stoa
4367  use dc_regex, only: match
4368  use dc_types, only: string, dp
4369  use dc_message, only: messagenotify
4370  use dc_trace, only: dbgmessage
4373  implicit none
4374  character(*), intent(in):: file
4375  character(*), intent(in):: varname
4376  character(*), intent(in), optional:: range
4377  logical, intent(in), optional:: quiet
4378  logical, intent(in), optional:: flag_mpi_split
4379  real(DP), intent(out), optional:: returned_time ! データの時刻
4380  logical, intent(out), optional:: flag_time_exist
4381  logical, intent(out), optional:: err
4382  integer, intent(out) :: array(:,:,:,:,:,:)
4383  integer, allocatable :: array_tmp(:)
4384  integer:: array_allsize
4385  integer:: array_shape(6), data_shape(6), array_shape_check(6)
4386  integer:: allcount
4387  integer:: i, sd
4388  logical:: inq_err
4389  type(gt_variable):: var
4390  character(STRING):: file_work, url, actual_url
4391  integer:: rank, alldims, array_rank
4392  integer:: domain
4393  character(STRING):: tname
4394  integer:: stat
4395  character(STRING):: cause_c
4396  character(*), parameter :: subname = "HistoryGetInt6"
4397  interface
4398  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
4399  character(*), intent(in):: file
4400  character(*), intent(in):: varname
4401  character(*), intent(out):: url
4402  character(*), intent(in), optional:: range
4403  logical, intent(out), optional:: flag_time_exist
4404  character(*), intent(out), optional:: time_name
4405  logical, intent(out), optional:: err
4406  end subroutine lookup_growable_url
4407  end interface
4408  interface
4409  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
4410  use dc_types, only: dp
4411  character(*), intent(in) :: url ! 変数 URL
4412  character(*), intent(out), optional :: actual_url
4413  ! 正確な入出力範囲指定
4414  real(DP), intent(out), optional:: returned_time ! データの時刻
4415  character(*), intent(in), optional:: time_name ! 時刻次元の名称
4416  logical, intent(out), optional :: err ! エラーのフラグ
4417  end subroutine actual_iorange_dump
4418  end interface
4419  interface
4420  function file_rename_mpi( file ) result(result)
4421  use dc_types, only: string
4422  character(*), intent(in):: file
4423  character(STRING):: result
4424  end function file_rename_mpi
4425  end interface
4426  continue
4427  cause_c = ''
4428  stat = dc_noerr
4429  file_work = file
4430  array_shape = shape( array )
4431  array_allsize = size( array )
4432  ! ファイル名の変更 (MPI 用)
4433  ! Change filename (for MPI)
4434  !
4435  if ( present_and_true( flag_mpi_split ) ) &
4436  & file_work = file_rename_mpi( file_work )
4437  ! 最新時刻の URL 取得
4438  ! Get URL of latest time
4439  !
4440  call lookup_growable_url(file_work, varname, url, range, &
4441  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
4442  if ( present_and_true(err) ) then
4443  stat = gt_enoturl
4444  cause_c = url
4445  goto 999
4446  end if
4447  ! ファイルオープン
4448  ! File open
4449  call open( var, url, err = err )
4450  if ( present_and_true(err) ) then
4451  stat = gt_enoturl
4452  cause_c = url
4453  goto 999
4454  end if
4455  !-------------------------------------------------------------------
4456  ! 配列形状のチェック
4457  ! Check array shape
4458  !-------------------------------------------------------------------
4459  ! 入力ファイル中のデータの次元数
4460  ! Get size of dimesions in data of an input file
4461  !
4462  call inquire( var = var, & ! (in)
4463  & rank = rank, alldims = alldims ) ! (out)
4464  ! 引数の次元数のチェック (縮退されている場合には減らす)
4465  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
4466  array_rank = 6
4467  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
4468  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
4469  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
4470  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
4471  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
4472  if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
4473  ! 次元数の比較
4474  ! Compare sizes of dimensions
4475  !
4476  if ( .not. 6 == rank .and. .not. array_rank == rank ) then
4477  if ( .not. present_and_true(quiet) ) then
4478  call messagenotify('W', subname, &
4479  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
4480  & i = (/rank, 6/), c1 = trim(url) )
4481  end if
4482  stat = gt_erankmismatch
4483  cause_c = 'array'
4484  goto 999
4485  end if
4486  ! 入力ファイル中のデータの配列形状取得
4487  ! Get shape of data in an input file
4488  call inquire( var = var , dimord = 1, & ! (in)
4489  & allcount = allcount, err = inq_err ) ! (out)
4490  if ( .not. inq_err ) then
4491  data_shape(1) = allcount
4492  else
4493  data_shape(1) = 1
4494  end if
4495  call inquire( var = var , dimord = 2, & ! (in)
4496  & allcount = allcount, err = inq_err ) ! (out)
4497  if ( .not. inq_err ) then
4498  data_shape(2) = allcount
4499  else
4500  data_shape(2) = 1
4501  end if
4502  call inquire( var = var , dimord = 3, & ! (in)
4503  & allcount = allcount, err = inq_err ) ! (out)
4504  if ( .not. inq_err ) then
4505  data_shape(3) = allcount
4506  else
4507  data_shape(3) = 1
4508  end if
4509  call inquire( var = var , dimord = 4, & ! (in)
4510  & allcount = allcount, err = inq_err ) ! (out)
4511  if ( .not. inq_err ) then
4512  data_shape(4) = allcount
4513  else
4514  data_shape(4) = 1
4515  end if
4516  call inquire( var = var , dimord = 5, & ! (in)
4517  & allcount = allcount, err = inq_err ) ! (out)
4518  if ( .not. inq_err ) then
4519  data_shape(5) = allcount
4520  else
4521  data_shape(5) = 1
4522  end if
4523  call inquire( var = var , dimord = 6, & ! (in)
4524  & allcount = allcount, err = inq_err ) ! (out)
4525  if ( .not. inq_err ) then
4526  data_shape(6) = allcount
4527  else
4528  data_shape(6) = 1
4529  end if
4530  ! 引数の配列形状整形
4531  ! Arrange shape of an argument
4532  !
4533  array_shape_check = array_shape
4534  sd = 1
4535  do i = 1, 6 - 1
4536  if ( array_shape_check(sd) == 1 ) then
4537  array_shape_check(sd:6) = cshift( array_shape_check(sd:6), 1, 1 )
4538  else
4539  sd = sd + 1
4540  end if
4541  end do
4542  ! 配列形状の比較
4543  ! Compare shapes
4544  !
4545  if ( .not. all( array_shape_check == data_shape ) ) then
4546  if ( .not. present_and_true(quiet) ) then
4547  call messagenotify('W', subname, &
4548  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
4549  & c1 = trim( url ), &
4550  & c2 = trim( tochar( data_shape(1:rank) ) ), &
4551  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
4552  end if
4553  stat = gt_eargsizemismatch
4554  cause_c = 'array'
4555  goto 999
4556  end if
4557  !-------------------------------------
4558  ! データ取得
4559  ! Get data
4560  call inquire( var = var, & ! (in)
4561  & size = domain ) ! (out)
4562  if ( allocated( array_tmp ) ) deallocate( array_tmp )
4563  allocate( array_tmp(array_allsize) )
4564  call get( var, array_tmp, domain )
4565  array = reshape( array_tmp, array_shape )
4566  deallocate( array_tmp )
4567  call close( var )
4568  !-------------------------------------
4569  ! データファイル名と切り出し範囲の印字
4570  ! Print data filename and clipping range
4571  call actual_iorange_dump(url, & ! (in)
4572  & actual_url, returned_time, & ! (out) optional
4573  & time_name = tname, & ! (in) optional
4574  & err = err) ! (out) optional
4575  if ( .not. present_and_true(quiet) ) then
4576  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
4577  end if
4578 999 continue
4579  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint6pointer()

subroutine historygetint6pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6559 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetint6pointertimed(), historygetint6pointertimei(), and historygetint6pointertimer().

6559  use gtdata_types, only: gt_variable
6560  use gtdata_generic, only: open, inquire, close, get
6561  use dc_string, only: tochar
6563  use dc_types, only: string, dp
6564  use dc_message, only: messagenotify
6565  use dc_trace, only: dbgmessage
6566  implicit none
6567  character(*), intent(in):: file
6568  character(*), intent(in):: varname
6569  character(*), intent(in), optional:: range
6570  logical, intent(in), optional:: quiet
6571  logical, intent(in), optional:: flag_mpi_split
6572  real(DP), intent(out), optional:: returned_time ! データの時刻
6573  logical, intent(out), optional:: flag_time_exist
6574  logical, intent(out), optional:: err
6575  integer:: domain
6576  integer, pointer :: array(:,:,:,:,:,:) ! (out)
6577  integer, target :: array_tmp(1)
6578  type(gt_variable):: var
6579  character(STRING):: file_work, url, actual_url
6580  character(STRING):: tname
6581  character(*), parameter :: subname = "HistoryGetInt6Pointer"
6582  interface
6583  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6584  character(*), intent(in):: file
6585  character(*), intent(in):: varname
6586  character(*), intent(out):: url
6587  character(*), intent(in), optional:: range
6588  logical, intent(out), optional:: flag_time_exist
6589  character(*), intent(out), optional:: time_name
6590  logical, intent(out), optional:: err
6591  end subroutine lookup_growable_url
6592  end interface
6593  interface
6594  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6595  use dc_types, only: dp
6596  character(*), intent(in) :: url ! 変数 URL
6597  character(*), intent(out), optional :: actual_url
6598  ! 正確な入出力範囲指定
6599  real(DP), intent(out), optional:: returned_time ! データの時刻
6600  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6601  logical, intent(out), optional :: err ! エラーのフラグ
6602  end subroutine actual_iorange_dump
6603  end interface
6604  interface
6605  function file_rename_mpi( file ) result(result)
6606  use dc_types, only: string
6607  character(*), intent(in):: file
6608  character(STRING):: result
6609  end function file_rename_mpi
6610  end interface
6611  continue
6612  file_work = file
6613  ! ファイル名の変更 (MPI 用)
6614  ! Change filename (for MPI)
6615  !
6616  if ( present_and_true( flag_mpi_split ) ) &
6617  & file_work = file_rename_mpi( file_work )
6618  ! 必要な情報を gtool 変数化
6619  !
6620  call lookup_growable_url(file_work, varname, url, range, &
6621  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6622  call dbgmessage('@ url =%c', c1=trim(url))
6623  ! いよいよデータ取得
6624  !
6625  call open(var, url, err)
6626  call get(var, array, err)
6627  call close(var, err)
6628  call actual_iorange_dump(url, & ! (in)
6629  & actual_url, returned_time, & ! (out) optional
6630  & time_name = tname, & ! (in) optional
6631  & err = err) ! (out) optional
6632  if ( .not. present_and_true(quiet) ) then
6633  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6634  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint6pointertimed()

subroutine historygetint6pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13862 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13862  use dc_string, only: tochar, split
13863  use dc_types, only: string, dp
13864  use dc_trace, only: dbgmessage
13865  use dc_url, only: url_chop_iorange, gt_equal
13866  use dc_present, only: present_and_true
13867  implicit none
13868  character(*), intent(in):: file, varname
13869  real(DP), intent(in):: time
13870  logical, intent(in), optional:: quiet
13871  integer, pointer :: array(:,:,:,:,:,:)
13872  logical, intent(in), optional:: flag_mpi_split
13873  real(DP), intent(out), optional:: returned_time
13874  logical, intent(out), optional:: flag_time_exist
13875  logical, intent(out), optional:: err
13876  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13877  character(STRING), pointer:: carray (:)
13878  character(STRING):: tname
13879  character(*), parameter :: subname = "HistoryGetInt6TimeD"
13880  interface
13881  subroutine historygetint6pointer(&
13882  & file, varname, array, range, quiet, &
13883  & flag_mpi_split, returned_time, flag_time_exist, err)
13884  use dc_types, only: dp
13885  character(*), intent(in):: file
13886  character(*), intent(in):: varname
13887  character(*), intent(in), optional:: range
13888  logical, intent(in), optional:: quiet
13889  logical, intent(in), optional:: flag_mpi_split
13890  real(DP), intent(out), optional:: returned_time
13891  logical, intent(out), optional:: flag_time_exist
13892  logical, intent(out), optional:: err
13893  integer, pointer :: array(:,:,:,:,:,:)
13894  end subroutine historygetint6pointer
13895  end interface
13896  interface
13897  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13898  character(*), intent(in):: file
13899  character(*), intent(in):: varname
13900  character(*), intent(out):: url
13901  character(*), intent(in), optional:: range
13902  logical, intent(out), optional:: flag_time_exist
13903  character(*), intent(out), optional:: time_name
13904  logical, intent(out), optional:: err
13905  end subroutine lookup_growable_url
13906  end interface
13907  interface
13908  function file_rename_mpi( file ) result(result)
13909  use dc_types, only: string
13910  character(*), intent(in):: file
13911  character(STRING):: result
13912  end function file_rename_mpi
13913  end interface
13914  continue
13915  file_work = file
13916  if ( present_and_true( flag_mpi_split ) ) &
13917  & file_work = file_rename_mpi( file_work )
13918  call lookup_growable_url(file = file_work, varname = varname, &
13919  & url = url, &
13920  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13921  call url_chop_iorange( &
13922  & fullname = url, iorange = iorange, remainder = remainder )
13923  call split( str = iorange, carray = carray, sep = gt_equal )
13924  timevar_name = carray(1)
13925  deallocate( carray )
13926  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13927  call historygetint6pointer( file = file, &
13928  & varname = varname, array = array, &
13929  & range = time_range, quiet = quiet, &
13930  & flag_mpi_split = flag_mpi_split, &
13931  & returned_time = returned_time, &
13932  & flag_time_exist = flag_time_exist, &
13933  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint6pointertimei()

subroutine historygetint6pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 17510 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

17510  use dc_string, only: tochar, split
17511  use dc_types, only: string, dp
17512  use dc_trace, only: dbgmessage
17513  use dc_url, only: url_chop_iorange, gt_equal
17514  use dc_present, only: present_and_true
17515  implicit none
17516  character(*), intent(in):: file, varname
17517  integer, intent(in):: time
17518  logical, intent(in), optional:: quiet
17519  integer, pointer :: array(:,:,:,:,:,:)
17520  logical, intent(in), optional:: flag_mpi_split
17521  real(DP), intent(out), optional:: returned_time
17522  logical, intent(out), optional:: flag_time_exist
17523  logical, intent(out), optional:: err
17524  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
17525  character(STRING), pointer:: carray (:)
17526  character(STRING):: tname
17527  character(*), parameter :: subname = "HistoryGetInt6TimeI"
17528  interface
17529  subroutine historygetint6pointer(&
17530  & file, varname, array, range, quiet, &
17531  & flag_mpi_split, returned_time, flag_time_exist, err)
17532  use dc_types, only: dp
17533  character(*), intent(in):: file
17534  character(*), intent(in):: varname
17535  character(*), intent(in), optional:: range
17536  logical, intent(in), optional:: quiet
17537  logical, intent(in), optional:: flag_mpi_split
17538  real(DP), intent(out), optional:: returned_time
17539  logical, intent(out), optional:: flag_time_exist
17540  logical, intent(out), optional:: err
17541  integer, pointer :: array(:,:,:,:,:,:)
17542  end subroutine historygetint6pointer
17543  end interface
17544  interface
17545  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17546  character(*), intent(in):: file
17547  character(*), intent(in):: varname
17548  character(*), intent(out):: url
17549  character(*), intent(in), optional:: range
17550  logical, intent(out), optional:: flag_time_exist
17551  character(*), intent(out), optional:: time_name
17552  logical, intent(out), optional:: err
17553  end subroutine lookup_growable_url
17554  end interface
17555  interface
17556  function file_rename_mpi( file ) result(result)
17557  use dc_types, only: string
17558  character(*), intent(in):: file
17559  character(STRING):: result
17560  end function file_rename_mpi
17561  end interface
17562  continue
17563  file_work = file
17564  if ( present_and_true( flag_mpi_split ) ) &
17565  & file_work = file_rename_mpi( file_work )
17566  call lookup_growable_url(file = file_work, varname = varname, &
17567  & url = url, &
17568  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17569  call url_chop_iorange( &
17570  & fullname = url, iorange = iorange, remainder = remainder )
17571  call split( str = iorange, carray = carray, sep = gt_equal )
17572  timevar_name = carray(1)
17573  deallocate( carray )
17574  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17575  call historygetint6pointer( file = file, &
17576  & varname = varname, array = array, &
17577  & range = time_range, quiet = quiet, &
17578  & flag_mpi_split = flag_mpi_split, &
17579  & returned_time = returned_time, &
17580  & flag_time_exist = flag_time_exist, &
17581  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetint6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint6pointertimer()

subroutine historygetint6pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10214 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

10214  use dc_string, only: tochar, split
10215  use dc_types, only: string, dp, sp
10216  use dc_trace, only: dbgmessage
10217  use dc_url, only: url_chop_iorange, gt_equal
10218  use dc_present, only: present_and_true
10219  implicit none
10220  character(*), intent(in):: file, varname
10221  real(SP), intent(in):: time
10222  logical, intent(in), optional:: quiet
10223  integer, pointer :: array(:,:,:,:,:,:)
10224  logical, intent(in), optional:: flag_mpi_split
10225  real(DP), intent(out), optional:: returned_time
10226  logical, intent(out), optional:: flag_time_exist
10227  logical, intent(out), optional:: err
10228  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10229  character(STRING), pointer:: carray (:)
10230  character(STRING):: tname
10231  character(*), parameter :: subname = "HistoryGetInt6TimeR"
10232  interface
10233  subroutine historygetint6pointer(&
10234  & file, varname, array, range, quiet, &
10235  & flag_mpi_split, returned_time, flag_time_exist, err)
10236  use dc_types, only: dp
10237  character(*), intent(in):: file
10238  character(*), intent(in):: varname
10239  character(*), intent(in), optional:: range
10240  logical, intent(in), optional:: quiet
10241  logical, intent(in), optional:: flag_mpi_split
10242  real(DP), intent(out), optional:: returned_time
10243  logical, intent(out), optional:: flag_time_exist
10244  logical, intent(out), optional:: err
10245  integer, pointer :: array(:,:,:,:,:,:)
10246  end subroutine historygetint6pointer
10247  end interface
10248  interface
10249  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10250  character(*), intent(in):: file
10251  character(*), intent(in):: varname
10252  character(*), intent(out):: url
10253  character(*), intent(in), optional:: range
10254  logical, intent(out), optional:: flag_time_exist
10255  character(*), intent(out), optional:: time_name
10256  logical, intent(out), optional:: err
10257  end subroutine lookup_growable_url
10258  end interface
10259  interface
10260  function file_rename_mpi( file ) result(result)
10261  use dc_types, only: string
10262  character(*), intent(in):: file
10263  character(STRING):: result
10264  end function file_rename_mpi
10265  end interface
10266  continue
10267  file_work = file
10268  if ( present_and_true( flag_mpi_split ) ) &
10269  & file_work = file_rename_mpi( file_work )
10270  call lookup_growable_url(file = file_work, varname = varname, &
10271  & url = url, &
10272  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10273  call url_chop_iorange( &
10274  & fullname = url, iorange = iorange, remainder = remainder )
10275  call split( str = iorange, carray = carray, sep = gt_equal )
10276  timevar_name = carray(1)
10277  deallocate( carray )
10278  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10279  call historygetint6pointer( file = file, &
10280  & varname = varname, array = array, &
10281  & range = time_range, quiet = quiet, &
10282  & flag_mpi_split = flag_mpi_split, &
10283  & returned_time = returned_time, &
10284  & flag_time_exist = flag_time_exist, &
10285  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetint6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint6timed()

subroutine historygetint6timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13254 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13254  use dc_string, only: tochar, split
13255  use dc_types, only: string, dp
13256  use dc_trace, only: dbgmessage
13257  use dc_url, only: url_chop_iorange, gt_equal
13258  use dc_present, only: present_and_true
13259  implicit none
13260  character(*), intent(in):: file, varname
13261  real(DP), intent(in):: time
13262  logical, intent(in), optional:: quiet
13263  integer, intent(out) :: array(:,:,:,:,:,:)
13264  logical, intent(in), optional:: flag_mpi_split
13265  real(DP), intent(out), optional:: returned_time
13266  logical, intent(out), optional:: flag_time_exist
13267  logical, intent(out), optional:: err
13268  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13269  character(STRING), pointer:: carray (:)
13270  character(STRING):: tname
13271  character(*), parameter :: subname = "HistoryGetInt6TimeD"
13272  interface
13273  subroutine historygetint6(&
13274  & file, varname, array, range, quiet, &
13275  & flag_mpi_split, returned_time, flag_time_exist, err)
13276  use dc_types, only: dp
13277  character(*), intent(in):: file
13278  character(*), intent(in):: varname
13279  character(*), intent(in), optional:: range
13280  logical, intent(in), optional:: quiet
13281  logical, intent(in), optional:: flag_mpi_split
13282  real(DP), intent(out), optional:: returned_time
13283  logical, intent(out), optional:: flag_time_exist
13284  logical, intent(out), optional:: err
13285  integer, intent(out) :: array(:,:,:,:,:,:)
13286  end subroutine historygetint6
13287  end interface
13288  interface
13289  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13290  character(*), intent(in):: file
13291  character(*), intent(in):: varname
13292  character(*), intent(out):: url
13293  character(*), intent(in), optional:: range
13294  logical, intent(out), optional:: flag_time_exist
13295  character(*), intent(out), optional:: time_name
13296  logical, intent(out), optional:: err
13297  end subroutine lookup_growable_url
13298  end interface
13299  interface
13300  function file_rename_mpi( file ) result(result)
13301  use dc_types, only: string
13302  character(*), intent(in):: file
13303  character(STRING):: result
13304  end function file_rename_mpi
13305  end interface
13306  continue
13307  file_work = file
13308  if ( present_and_true( flag_mpi_split ) ) &
13309  & file_work = file_rename_mpi( file_work )
13310  call lookup_growable_url(file = file_work, varname = varname, &
13311  & url = url, &
13312  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13313  call url_chop_iorange( &
13314  & fullname = url, iorange = iorange, remainder = remainder )
13315  call split( str = iorange, carray = carray, sep = gt_equal )
13316  timevar_name = carray(1)
13317  deallocate( carray )
13318  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13319  call historygetint6( file = file, &
13320  & varname = varname, array = array, &
13321  & range = time_range, quiet = quiet, &
13322  & flag_mpi_split = flag_mpi_split, &
13323  & returned_time = returned_time, &
13324  & flag_time_exist = flag_time_exist, &
13325  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint6timei()

subroutine historygetint6timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16902 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

16902  use dc_string, only: tochar, split
16903  use dc_types, only: string, dp
16904  use dc_trace, only: dbgmessage
16905  use dc_url, only: url_chop_iorange, gt_equal
16906  use dc_present, only: present_and_true
16907  implicit none
16908  character(*), intent(in):: file, varname
16909  integer, intent(in):: time
16910  logical, intent(in), optional:: quiet
16911  integer, intent(out) :: array(:,:,:,:,:,:)
16912  logical, intent(in), optional:: flag_mpi_split
16913  real(DP), intent(out), optional:: returned_time
16914  logical, intent(out), optional:: flag_time_exist
16915  logical, intent(out), optional:: err
16916  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16917  character(STRING), pointer:: carray (:)
16918  character(STRING):: tname
16919  character(*), parameter :: subname = "HistoryGetInt6TimeI"
16920  interface
16921  subroutine historygetint6(&
16922  & file, varname, array, range, quiet, &
16923  & flag_mpi_split, returned_time, flag_time_exist, err)
16924  use dc_types, only: dp
16925  character(*), intent(in):: file
16926  character(*), intent(in):: varname
16927  character(*), intent(in), optional:: range
16928  logical, intent(in), optional:: quiet
16929  logical, intent(in), optional:: flag_mpi_split
16930  real(DP), intent(out), optional:: returned_time
16931  logical, intent(out), optional:: flag_time_exist
16932  logical, intent(out), optional:: err
16933  integer, intent(out) :: array(:,:,:,:,:,:)
16934  end subroutine historygetint6
16935  end interface
16936  interface
16937  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16938  character(*), intent(in):: file
16939  character(*), intent(in):: varname
16940  character(*), intent(out):: url
16941  character(*), intent(in), optional:: range
16942  logical, intent(out), optional:: flag_time_exist
16943  character(*), intent(out), optional:: time_name
16944  logical, intent(out), optional:: err
16945  end subroutine lookup_growable_url
16946  end interface
16947  interface
16948  function file_rename_mpi( file ) result(result)
16949  use dc_types, only: string
16950  character(*), intent(in):: file
16951  character(STRING):: result
16952  end function file_rename_mpi
16953  end interface
16954  continue
16955  file_work = file
16956  if ( present_and_true( flag_mpi_split ) ) &
16957  & file_work = file_rename_mpi( file_work )
16958  call lookup_growable_url(file = file_work, varname = varname, &
16959  & url = url, &
16960  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16961  call url_chop_iorange( &
16962  & fullname = url, iorange = iorange, remainder = remainder )
16963  call split( str = iorange, carray = carray, sep = gt_equal )
16964  timevar_name = carray(1)
16965  deallocate( carray )
16966  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16967  call historygetint6( file = file, &
16968  & varname = varname, array = array, &
16969  & range = time_range, quiet = quiet, &
16970  & flag_mpi_split = flag_mpi_split, &
16971  & returned_time = returned_time, &
16972  & flag_time_exist = flag_time_exist, &
16973  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint6timer()

subroutine historygetint6timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9606 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9606  use dc_string, only: tochar, split
9607  use dc_types, only: string, dp, sp
9608  use dc_trace, only: dbgmessage
9609  use dc_url, only: url_chop_iorange, gt_equal
9610  use dc_present, only: present_and_true
9611  implicit none
9612  character(*), intent(in):: file, varname
9613  real(SP), intent(in):: time
9614  logical, intent(in), optional:: quiet
9615  integer, intent(out) :: array(:,:,:,:,:,:)
9616  logical, intent(in), optional:: flag_mpi_split
9617  real(DP), intent(out), optional:: returned_time
9618  logical, intent(out), optional:: flag_time_exist
9619  logical, intent(out), optional:: err
9620  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9621  character(STRING), pointer:: carray (:)
9622  character(STRING):: tname
9623  character(*), parameter :: subname = "HistoryGetInt6TimeR"
9624  interface
9625  subroutine historygetint6(&
9626  & file, varname, array, range, quiet, &
9627  & flag_mpi_split, returned_time, flag_time_exist, err)
9628  use dc_types, only: dp
9629  character(*), intent(in):: file
9630  character(*), intent(in):: varname
9631  character(*), intent(in), optional:: range
9632  logical, intent(in), optional:: quiet
9633  logical, intent(in), optional:: flag_mpi_split
9634  real(DP), intent(out), optional:: returned_time
9635  logical, intent(out), optional:: flag_time_exist
9636  logical, intent(out), optional:: err
9637  integer, intent(out) :: array(:,:,:,:,:,:)
9638  end subroutine historygetint6
9639  end interface
9640  interface
9641  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9642  character(*), intent(in):: file
9643  character(*), intent(in):: varname
9644  character(*), intent(out):: url
9645  character(*), intent(in), optional:: range
9646  logical, intent(out), optional:: flag_time_exist
9647  character(*), intent(out), optional:: time_name
9648  logical, intent(out), optional:: err
9649  end subroutine lookup_growable_url
9650  end interface
9651  interface
9652  function file_rename_mpi( file ) result(result)
9653  use dc_types, only: string
9654  character(*), intent(in):: file
9655  character(STRING):: result
9656  end function file_rename_mpi
9657  end interface
9658  continue
9659  file_work = file
9660  if ( present_and_true( flag_mpi_split ) ) &
9661  & file_work = file_rename_mpi( file_work )
9662  call lookup_growable_url(file = file_work, varname = varname, &
9663  & url = url, &
9664  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9665  call url_chop_iorange( &
9666  & fullname = url, iorange = iorange, remainder = remainder )
9667  call split( str = iorange, carray = carray, sep = gt_equal )
9668  timevar_name = carray(1)
9669  deallocate( carray )
9670  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9671  call historygetint6( file = file, &
9672  & varname = varname, array = array, &
9673  & range = time_range, quiet = quiet, &
9674  & flag_mpi_split = flag_mpi_split, &
9675  & returned_time = returned_time, &
9676  & flag_time_exist = flag_time_exist, &
9677  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetint6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint7()

subroutine historygetint7 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 4583 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetint7timed(), historygetint7timei(), and historygetint7timer().

4583  use gtdata_types, only: gt_variable
4584  use gtdata_generic, only: open, inquire, close, get
4585  use dc_string, only: tochar, split, joinchar, stoa
4588  use dc_regex, only: match
4589  use dc_types, only: string, dp
4590  use dc_message, only: messagenotify
4591  use dc_trace, only: dbgmessage
4594  implicit none
4595  character(*), intent(in):: file
4596  character(*), intent(in):: varname
4597  character(*), intent(in), optional:: range
4598  logical, intent(in), optional:: quiet
4599  logical, intent(in), optional:: flag_mpi_split
4600  real(DP), intent(out), optional:: returned_time ! データの時刻
4601  logical, intent(out), optional:: flag_time_exist
4602  logical, intent(out), optional:: err
4603  integer, intent(out) :: array(:,:,:,:,:,:,:)
4604  integer, allocatable :: array_tmp(:)
4605  integer:: array_allsize
4606  integer:: array_shape(7), data_shape(7), array_shape_check(7)
4607  integer:: allcount
4608  integer:: i, sd
4609  logical:: inq_err
4610  type(gt_variable):: var
4611  character(STRING):: file_work, url, actual_url
4612  integer:: rank, alldims, array_rank
4613  integer:: domain
4614  character(STRING):: tname
4615  integer:: stat
4616  character(STRING):: cause_c
4617  character(*), parameter :: subname = "HistoryGetInt7"
4618  interface
4619  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
4620  character(*), intent(in):: file
4621  character(*), intent(in):: varname
4622  character(*), intent(out):: url
4623  character(*), intent(in), optional:: range
4624  logical, intent(out), optional:: flag_time_exist
4625  character(*), intent(out), optional:: time_name
4626  logical, intent(out), optional:: err
4627  end subroutine lookup_growable_url
4628  end interface
4629  interface
4630  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
4631  use dc_types, only: dp
4632  character(*), intent(in) :: url ! 変数 URL
4633  character(*), intent(out), optional :: actual_url
4634  ! 正確な入出力範囲指定
4635  real(DP), intent(out), optional:: returned_time ! データの時刻
4636  character(*), intent(in), optional:: time_name ! 時刻次元の名称
4637  logical, intent(out), optional :: err ! エラーのフラグ
4638  end subroutine actual_iorange_dump
4639  end interface
4640  interface
4641  function file_rename_mpi( file ) result(result)
4642  use dc_types, only: string
4643  character(*), intent(in):: file
4644  character(STRING):: result
4645  end function file_rename_mpi
4646  end interface
4647  continue
4648  cause_c = ''
4649  stat = dc_noerr
4650  file_work = file
4651  array_shape = shape( array )
4652  array_allsize = size( array )
4653  ! ファイル名の変更 (MPI 用)
4654  ! Change filename (for MPI)
4655  !
4656  if ( present_and_true( flag_mpi_split ) ) &
4657  & file_work = file_rename_mpi( file_work )
4658  ! 最新時刻の URL 取得
4659  ! Get URL of latest time
4660  !
4661  call lookup_growable_url(file_work, varname, url, range, &
4662  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
4663  if ( present_and_true(err) ) then
4664  stat = gt_enoturl
4665  cause_c = url
4666  goto 999
4667  end if
4668  ! ファイルオープン
4669  ! File open
4670  call open( var, url, err = err )
4671  if ( present_and_true(err) ) then
4672  stat = gt_enoturl
4673  cause_c = url
4674  goto 999
4675  end if
4676  !-------------------------------------------------------------------
4677  ! 配列形状のチェック
4678  ! Check array shape
4679  !-------------------------------------------------------------------
4680  ! 入力ファイル中のデータの次元数
4681  ! Get size of dimesions in data of an input file
4682  !
4683  call inquire( var = var, & ! (in)
4684  & rank = rank, alldims = alldims ) ! (out)
4685  ! 引数の次元数のチェック (縮退されている場合には減らす)
4686  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
4687  array_rank = 7
4688  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
4689  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
4690  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
4691  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
4692  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
4693  if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
4694  if ( size( array, 7 ) == 1 ) array_rank = array_rank - 1
4695  ! 次元数の比較
4696  ! Compare sizes of dimensions
4697  !
4698  if ( .not. 7 == rank .and. .not. array_rank == rank ) then
4699  if ( .not. present_and_true(quiet) ) then
4700  call messagenotify('W', subname, &
4701  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
4702  & i = (/rank, 7/), c1 = trim(url) )
4703  end if
4704  stat = gt_erankmismatch
4705  cause_c = 'array'
4706  goto 999
4707  end if
4708  ! 入力ファイル中のデータの配列形状取得
4709  ! Get shape of data in an input file
4710  call inquire( var = var , dimord = 1, & ! (in)
4711  & allcount = allcount, err = inq_err ) ! (out)
4712  if ( .not. inq_err ) then
4713  data_shape(1) = allcount
4714  else
4715  data_shape(1) = 1
4716  end if
4717  call inquire( var = var , dimord = 2, & ! (in)
4718  & allcount = allcount, err = inq_err ) ! (out)
4719  if ( .not. inq_err ) then
4720  data_shape(2) = allcount
4721  else
4722  data_shape(2) = 1
4723  end if
4724  call inquire( var = var , dimord = 3, & ! (in)
4725  & allcount = allcount, err = inq_err ) ! (out)
4726  if ( .not. inq_err ) then
4727  data_shape(3) = allcount
4728  else
4729  data_shape(3) = 1
4730  end if
4731  call inquire( var = var , dimord = 4, & ! (in)
4732  & allcount = allcount, err = inq_err ) ! (out)
4733  if ( .not. inq_err ) then
4734  data_shape(4) = allcount
4735  else
4736  data_shape(4) = 1
4737  end if
4738  call inquire( var = var , dimord = 5, & ! (in)
4739  & allcount = allcount, err = inq_err ) ! (out)
4740  if ( .not. inq_err ) then
4741  data_shape(5) = allcount
4742  else
4743  data_shape(5) = 1
4744  end if
4745  call inquire( var = var , dimord = 6, & ! (in)
4746  & allcount = allcount, err = inq_err ) ! (out)
4747  if ( .not. inq_err ) then
4748  data_shape(6) = allcount
4749  else
4750  data_shape(6) = 1
4751  end if
4752  call inquire( var = var , dimord = 7, & ! (in)
4753  & allcount = allcount, err = inq_err ) ! (out)
4754  if ( .not. inq_err ) then
4755  data_shape(7) = allcount
4756  else
4757  data_shape(7) = 1
4758  end if
4759  ! 引数の配列形状整形
4760  ! Arrange shape of an argument
4761  !
4762  array_shape_check = array_shape
4763  sd = 1
4764  do i = 1, 7 - 1
4765  if ( array_shape_check(sd) == 1 ) then
4766  array_shape_check(sd:7) = cshift( array_shape_check(sd:7), 1, 1 )
4767  else
4768  sd = sd + 1
4769  end if
4770  end do
4771  ! 配列形状の比較
4772  ! Compare shapes
4773  !
4774  if ( .not. all( array_shape_check == data_shape ) ) then
4775  if ( .not. present_and_true(quiet) ) then
4776  call messagenotify('W', subname, &
4777  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
4778  & c1 = trim( url ), &
4779  & c2 = trim( tochar( data_shape(1:rank) ) ), &
4780  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
4781  end if
4782  stat = gt_eargsizemismatch
4783  cause_c = 'array'
4784  goto 999
4785  end if
4786  !-------------------------------------
4787  ! データ取得
4788  ! Get data
4789  call inquire( var = var, & ! (in)
4790  & size = domain ) ! (out)
4791  if ( allocated( array_tmp ) ) deallocate( array_tmp )
4792  allocate( array_tmp(array_allsize) )
4793  call get( var, array_tmp, domain )
4794  array = reshape( array_tmp, array_shape )
4795  deallocate( array_tmp )
4796  call close( var )
4797  !-------------------------------------
4798  ! データファイル名と切り出し範囲の印字
4799  ! Print data filename and clipping range
4800  call actual_iorange_dump(url, & ! (in)
4801  & actual_url, returned_time, & ! (out) optional
4802  & time_name = tname, & ! (in) optional
4803  & err = err) ! (out) optional
4804  if ( .not. present_and_true(quiet) ) then
4805  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
4806  end if
4807 999 continue
4808  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint7pointer()

subroutine historygetint7pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6638 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), and dc_types::string.

Referenced by historygetint7pointertimed(), historygetint7pointertimei(), and historygetint7pointertimer().

6638  use gtdata_types, only: gt_variable
6639  use gtdata_generic, only: open, inquire, close, get
6640  use dc_string, only: tochar
6642  use dc_types, only: string, dp
6643  use dc_message, only: messagenotify
6644  use dc_trace, only: dbgmessage
6645  implicit none
6646  character(*), intent(in):: file
6647  character(*), intent(in):: varname
6648  character(*), intent(in), optional:: range
6649  logical, intent(in), optional:: quiet
6650  logical, intent(in), optional:: flag_mpi_split
6651  real(DP), intent(out), optional:: returned_time ! データの時刻
6652  logical, intent(out), optional:: flag_time_exist
6653  logical, intent(out), optional:: err
6654  integer:: domain
6655  integer, pointer :: array(:,:,:,:,:,:,:) ! (out)
6656  integer, target :: array_tmp(1)
6657  type(gt_variable):: var
6658  character(STRING):: file_work, url, actual_url
6659  character(STRING):: tname
6660  character(*), parameter :: subname = "HistoryGetInt7Pointer"
6661  interface
6662  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6663  character(*), intent(in):: file
6664  character(*), intent(in):: varname
6665  character(*), intent(out):: url
6666  character(*), intent(in), optional:: range
6667  logical, intent(out), optional:: flag_time_exist
6668  character(*), intent(out), optional:: time_name
6669  logical, intent(out), optional:: err
6670  end subroutine lookup_growable_url
6671  end interface
6672  interface
6673  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6674  use dc_types, only: dp
6675  character(*), intent(in) :: url ! 変数 URL
6676  character(*), intent(out), optional :: actual_url
6677  ! 正確な入出力範囲指定
6678  real(DP), intent(out), optional:: returned_time ! データの時刻
6679  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6680  logical, intent(out), optional :: err ! エラーのフラグ
6681  end subroutine actual_iorange_dump
6682  end interface
6683  interface
6684  function file_rename_mpi( file ) result(result)
6685  use dc_types, only: string
6686  character(*), intent(in):: file
6687  character(STRING):: result
6688  end function file_rename_mpi
6689  end interface
6690  continue
6691  file_work = file
6692  ! ファイル名の変更 (MPI 用)
6693  ! Change filename (for MPI)
6694  !
6695  if ( present_and_true( flag_mpi_split ) ) &
6696  & file_work = file_rename_mpi( file_work )
6697  ! 必要な情報を gtool 変数化
6698  !
6699  call lookup_growable_url(file_work, varname, url, range, &
6700  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6701  call dbgmessage('@ url =%c', c1=trim(url))
6702  ! いよいよデータ取得
6703  !
6704  call open(var, url, err)
6705  call get(var, array, err)
6706  call close(var, err)
6707  call actual_iorange_dump(url, & ! (in)
6708  & actual_url, returned_time, & ! (out) optional
6709  & time_name = tname, & ! (in) optional
6710  & err = err) ! (out) optional
6711  if ( .not. present_and_true(quiet) ) then
6712  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6713  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetint7pointertimed()

subroutine historygetint7pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13938 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13938  use dc_string, only: tochar, split
13939  use dc_types, only: string, dp
13940  use dc_trace, only: dbgmessage
13941  use dc_url, only: url_chop_iorange, gt_equal
13942  use dc_present, only: present_and_true
13943  implicit none
13944  character(*), intent(in):: file, varname
13945  real(DP), intent(in):: time
13946  logical, intent(in), optional:: quiet
13947  integer, pointer :: array(:,:,:,:,:,:,:)
13948  logical, intent(in), optional:: flag_mpi_split
13949  real(DP), intent(out), optional:: returned_time
13950  logical, intent(out), optional:: flag_time_exist
13951  logical, intent(out), optional:: err
13952  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13953  character(STRING), pointer:: carray (:)
13954  character(STRING):: tname
13955  character(*), parameter :: subname = "HistoryGetInt7TimeD"
13956  interface
13957  subroutine historygetint7pointer(&
13958  & file, varname, array, range, quiet, &
13959  & flag_mpi_split, returned_time, flag_time_exist, err)
13960  use dc_types, only: dp
13961  character(*), intent(in):: file
13962  character(*), intent(in):: varname
13963  character(*), intent(in), optional:: range
13964  logical, intent(in), optional:: quiet
13965  logical, intent(in), optional:: flag_mpi_split
13966  real(DP), intent(out), optional:: returned_time
13967  logical, intent(out), optional:: flag_time_exist
13968  logical, intent(out), optional:: err
13969  integer, pointer :: array(:,:,:,:,:,:,:)
13970  end subroutine historygetint7pointer
13971  end interface
13972  interface
13973  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13974  character(*), intent(in):: file
13975  character(*), intent(in):: varname
13976  character(*), intent(out):: url
13977  character(*), intent(in), optional:: range
13978  logical, intent(out), optional:: flag_time_exist
13979  character(*), intent(out), optional:: time_name
13980  logical, intent(out), optional:: err
13981  end subroutine lookup_growable_url
13982  end interface
13983  interface
13984  function file_rename_mpi( file ) result(result)
13985  use dc_types, only: string
13986  character(*), intent(in):: file
13987  character(STRING):: result
13988  end function file_rename_mpi
13989  end interface
13990  continue
13991  file_work = file
13992  if ( present_and_true( flag_mpi_split ) ) &
13993  & file_work = file_rename_mpi( file_work )
13994  call lookup_growable_url(file = file_work, varname = varname, &
13995  & url = url, &
13996  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13997  call url_chop_iorange( &
13998  & fullname = url, iorange = iorange, remainder = remainder )
13999  call split( str = iorange, carray = carray, sep = gt_equal )
14000  timevar_name = carray(1)
14001  deallocate( carray )
14002  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
14003  call historygetint7pointer( file = file, &
14004  & varname = varname, array = array, &
14005  & range = time_range, quiet = quiet, &
14006  & flag_mpi_split = flag_mpi_split, &
14007  & returned_time = returned_time, &
14008  & flag_time_exist = flag_time_exist, &
14009  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetint7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint7pointertimei()

subroutine historygetint7pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 17586 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

17586  use dc_string, only: tochar, split
17587  use dc_types, only: string, dp
17588  use dc_trace, only: dbgmessage
17589  use dc_url, only: url_chop_iorange, gt_equal
17590  use dc_present, only: present_and_true
17591  implicit none
17592  character(*), intent(in):: file, varname
17593  integer, intent(in):: time
17594  logical, intent(in), optional:: quiet
17595  integer, pointer :: array(:,:,:,:,:,:,:)
17596  logical, intent(in), optional:: flag_mpi_split
17597  real(DP), intent(out), optional:: returned_time
17598  logical, intent(out), optional:: flag_time_exist
17599  logical, intent(out), optional:: err
17600  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
17601  character(STRING), pointer:: carray (:)
17602  character(STRING):: tname
17603  character(*), parameter :: subname = "HistoryGetInt7TimeI"
17604  interface
17605  subroutine historygetint7pointer(&
17606  & file, varname, array, range, quiet, &
17607  & flag_mpi_split, returned_time, flag_time_exist, err)
17608  use dc_types, only: dp
17609  character(*), intent(in):: file
17610  character(*), intent(in):: varname
17611  character(*), intent(in), optional:: range
17612  logical, intent(in), optional:: quiet
17613  logical, intent(in), optional:: flag_mpi_split
17614  real(DP), intent(out), optional:: returned_time
17615  logical, intent(out), optional:: flag_time_exist
17616  logical, intent(out), optional:: err
17617  integer, pointer :: array(:,:,:,:,:,:,:)
17618  end subroutine historygetint7pointer
17619  end interface
17620  interface
17621  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17622  character(*), intent(in):: file
17623  character(*), intent(in):: varname
17624  character(*), intent(out):: url
17625  character(*), intent(in), optional:: range
17626  logical, intent(out), optional:: flag_time_exist
17627  character(*), intent(out), optional:: time_name
17628  logical, intent(out), optional:: err
17629  end subroutine lookup_growable_url
17630  end interface
17631  interface
17632  function file_rename_mpi( file ) result(result)
17633  use dc_types, only: string
17634  character(*), intent(in):: file
17635  character(STRING):: result
17636  end function file_rename_mpi
17637  end interface
17638  continue
17639  file_work = file
17640  if ( present_and_true( flag_mpi_split ) ) &
17641  & file_work = file_rename_mpi( file_work )
17642  call lookup_growable_url(file = file_work, varname = varname, &
17643  & url = url, &
17644  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17645  call url_chop_iorange( &
17646  & fullname = url, iorange = iorange, remainder = remainder )
17647  call split( str = iorange, carray = carray, sep = gt_equal )
17648  timevar_name = carray(1)
17649  deallocate( carray )
17650  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17651  call historygetint7pointer( file = file, &
17652  & varname = varname, array = array, &
17653  & range = time_range, quiet = quiet, &
17654  & flag_mpi_split = flag_mpi_split, &
17655  & returned_time = returned_time, &
17656  & flag_time_exist = flag_time_exist, &
17657  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetint7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint7pointertimer()

subroutine historygetint7pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 10290 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

10290  use dc_string, only: tochar, split
10291  use dc_types, only: string, dp, sp
10292  use dc_trace, only: dbgmessage
10293  use dc_url, only: url_chop_iorange, gt_equal
10294  use dc_present, only: present_and_true
10295  implicit none
10296  character(*), intent(in):: file, varname
10297  real(SP), intent(in):: time
10298  logical, intent(in), optional:: quiet
10299  integer, pointer :: array(:,:,:,:,:,:,:)
10300  logical, intent(in), optional:: flag_mpi_split
10301  real(DP), intent(out), optional:: returned_time
10302  logical, intent(out), optional:: flag_time_exist
10303  logical, intent(out), optional:: err
10304  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
10305  character(STRING), pointer:: carray (:)
10306  character(STRING):: tname
10307  character(*), parameter :: subname = "HistoryGetInt7TimeR"
10308  interface
10309  subroutine historygetint7pointer(&
10310  & file, varname, array, range, quiet, &
10311  & flag_mpi_split, returned_time, flag_time_exist, err)
10312  use dc_types, only: dp
10313  character(*), intent(in):: file
10314  character(*), intent(in):: varname
10315  character(*), intent(in), optional:: range
10316  logical, intent(in), optional:: quiet
10317  logical, intent(in), optional:: flag_mpi_split
10318  real(DP), intent(out), optional:: returned_time
10319  logical, intent(out), optional:: flag_time_exist
10320  logical, intent(out), optional:: err
10321  integer, pointer :: array(:,:,:,:,:,:,:)
10322  end subroutine historygetint7pointer
10323  end interface
10324  interface
10325  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
10326  character(*), intent(in):: file
10327  character(*), intent(in):: varname
10328  character(*), intent(out):: url
10329  character(*), intent(in), optional:: range
10330  logical, intent(out), optional:: flag_time_exist
10331  character(*), intent(out), optional:: time_name
10332  logical, intent(out), optional:: err
10333  end subroutine lookup_growable_url
10334  end interface
10335  interface
10336  function file_rename_mpi( file ) result(result)
10337  use dc_types, only: string
10338  character(*), intent(in):: file
10339  character(STRING):: result
10340  end function file_rename_mpi
10341  end interface
10342  continue
10343  file_work = file
10344  if ( present_and_true( flag_mpi_split ) ) &
10345  & file_work = file_rename_mpi( file_work )
10346  call lookup_growable_url(file = file_work, varname = varname, &
10347  & url = url, &
10348  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
10349  call url_chop_iorange( &
10350  & fullname = url, iorange = iorange, remainder = remainder )
10351  call split( str = iorange, carray = carray, sep = gt_equal )
10352  timevar_name = carray(1)
10353  deallocate( carray )
10354  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
10355  call historygetint7pointer( file = file, &
10356  & varname = varname, array = array, &
10357  & range = time_range, quiet = quiet, &
10358  & flag_mpi_split = flag_mpi_split, &
10359  & returned_time = returned_time, &
10360  & flag_time_exist = flag_time_exist, &
10361  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetint7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint7timed()

subroutine historygetint7timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 13330 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

13330  use dc_string, only: tochar, split
13331  use dc_types, only: string, dp
13332  use dc_trace, only: dbgmessage
13333  use dc_url, only: url_chop_iorange, gt_equal
13334  use dc_present, only: present_and_true
13335  implicit none
13336  character(*), intent(in):: file, varname
13337  real(DP), intent(in):: time
13338  logical, intent(in), optional:: quiet
13339  integer, intent(out) :: array(:,:,:,:,:,:,:)
13340  logical, intent(in), optional:: flag_mpi_split
13341  real(DP), intent(out), optional:: returned_time
13342  logical, intent(out), optional:: flag_time_exist
13343  logical, intent(out), optional:: err
13344  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
13345  character(STRING), pointer:: carray (:)
13346  character(STRING):: tname
13347  character(*), parameter :: subname = "HistoryGetInt7TimeD"
13348  interface
13349  subroutine historygetint7(&
13350  & file, varname, array, range, quiet, &
13351  & flag_mpi_split, returned_time, flag_time_exist, err)
13352  use dc_types, only: dp
13353  character(*), intent(in):: file
13354  character(*), intent(in):: varname
13355  character(*), intent(in), optional:: range
13356  logical, intent(in), optional:: quiet
13357  logical, intent(in), optional:: flag_mpi_split
13358  real(DP), intent(out), optional:: returned_time
13359  logical, intent(out), optional:: flag_time_exist
13360  logical, intent(out), optional:: err
13361  integer, intent(out) :: array(:,:,:,:,:,:,:)
13362  end subroutine historygetint7
13363  end interface
13364  interface
13365  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
13366  character(*), intent(in):: file
13367  character(*), intent(in):: varname
13368  character(*), intent(out):: url
13369  character(*), intent(in), optional:: range
13370  logical, intent(out), optional:: flag_time_exist
13371  character(*), intent(out), optional:: time_name
13372  logical, intent(out), optional:: err
13373  end subroutine lookup_growable_url
13374  end interface
13375  interface
13376  function file_rename_mpi( file ) result(result)
13377  use dc_types, only: string
13378  character(*), intent(in):: file
13379  character(STRING):: result
13380  end function file_rename_mpi
13381  end interface
13382  continue
13383  file_work = file
13384  if ( present_and_true( flag_mpi_split ) ) &
13385  & file_work = file_rename_mpi( file_work )
13386  call lookup_growable_url(file = file_work, varname = varname, &
13387  & url = url, &
13388  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
13389  call url_chop_iorange( &
13390  & fullname = url, iorange = iorange, remainder = remainder )
13391  call split( str = iorange, carray = carray, sep = gt_equal )
13392  timevar_name = carray(1)
13393  deallocate( carray )
13394  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
13395  call historygetint7( file = file, &
13396  & varname = varname, array = array, &
13397  & range = time_range, quiet = quiet, &
13398  & flag_mpi_split = flag_mpi_split, &
13399  & returned_time = returned_time, &
13400  & flag_time_exist = flag_time_exist, &
13401  & err = err )
subroutine historygetint7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint7timei()

subroutine historygetint7timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16978 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::string, and dc_url::url_chop_iorange().

16978  use dc_string, only: tochar, split
16979  use dc_types, only: string, dp
16980  use dc_trace, only: dbgmessage
16981  use dc_url, only: url_chop_iorange, gt_equal
16982  use dc_present, only: present_and_true
16983  implicit none
16984  character(*), intent(in):: file, varname
16985  integer, intent(in):: time
16986  logical, intent(in), optional:: quiet
16987  integer, intent(out) :: array(:,:,:,:,:,:,:)
16988  logical, intent(in), optional:: flag_mpi_split
16989  real(DP), intent(out), optional:: returned_time
16990  logical, intent(out), optional:: flag_time_exist
16991  logical, intent(out), optional:: err
16992  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16993  character(STRING), pointer:: carray (:)
16994  character(STRING):: tname
16995  character(*), parameter :: subname = "HistoryGetInt7TimeI"
16996  interface
16997  subroutine historygetint7(&
16998  & file, varname, array, range, quiet, &
16999  & flag_mpi_split, returned_time, flag_time_exist, err)
17000  use dc_types, only: dp
17001  character(*), intent(in):: file
17002  character(*), intent(in):: varname
17003  character(*), intent(in), optional:: range
17004  logical, intent(in), optional:: quiet
17005  logical, intent(in), optional:: flag_mpi_split
17006  real(DP), intent(out), optional:: returned_time
17007  logical, intent(out), optional:: flag_time_exist
17008  logical, intent(out), optional:: err
17009  integer, intent(out) :: array(:,:,:,:,:,:,:)
17010  end subroutine historygetint7
17011  end interface
17012  interface
17013  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
17014  character(*), intent(in):: file
17015  character(*), intent(in):: varname
17016  character(*), intent(out):: url
17017  character(*), intent(in), optional:: range
17018  logical, intent(out), optional:: flag_time_exist
17019  character(*), intent(out), optional:: time_name
17020  logical, intent(out), optional:: err
17021  end subroutine lookup_growable_url
17022  end interface
17023  interface
17024  function file_rename_mpi( file ) result(result)
17025  use dc_types, only: string
17026  character(*), intent(in):: file
17027  character(STRING):: result
17028  end function file_rename_mpi
17029  end interface
17030  continue
17031  file_work = file
17032  if ( present_and_true( flag_mpi_split ) ) &
17033  & file_work = file_rename_mpi( file_work )
17034  call lookup_growable_url(file = file_work, varname = varname, &
17035  & url = url, &
17036  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
17037  call url_chop_iorange( &
17038  & fullname = url, iorange = iorange, remainder = remainder )
17039  call split( str = iorange, carray = carray, sep = gt_equal )
17040  timevar_name = carray(1)
17041  deallocate( carray )
17042  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
17043  call historygetint7( file = file, &
17044  & varname = varname, array = array, &
17045  & range = time_range, quiet = quiet, &
17046  & flag_mpi_split = flag_mpi_split, &
17047  & returned_time = returned_time, &
17048  & flag_time_exist = flag_time_exist, &
17049  & err = err )
subroutine historygetint7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetint7timer()

subroutine historygetint7timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
integer, dimension(:,:,:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9682 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetint7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9682  use dc_string, only: tochar, split
9683  use dc_types, only: string, dp, sp
9684  use dc_trace, only: dbgmessage
9685  use dc_url, only: url_chop_iorange, gt_equal
9686  use dc_present, only: present_and_true
9687  implicit none
9688  character(*), intent(in):: file, varname
9689  real(SP), intent(in):: time
9690  logical, intent(in), optional:: quiet
9691  integer, intent(out) :: array(:,:,:,:,:,:,:)
9692  logical, intent(in), optional:: flag_mpi_split
9693  real(DP), intent(out), optional:: returned_time
9694  logical, intent(out), optional:: flag_time_exist
9695  logical, intent(out), optional:: err
9696  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9697  character(STRING), pointer:: carray (:)
9698  character(STRING):: tname
9699  character(*), parameter :: subname = "HistoryGetInt7TimeR"
9700  interface
9701  subroutine historygetint7(&
9702  & file, varname, array, range, quiet, &
9703  & flag_mpi_split, returned_time, flag_time_exist, err)
9704  use dc_types, only: dp
9705  character(*), intent(in):: file
9706  character(*), intent(in):: varname
9707  character(*), intent(in), optional:: range
9708  logical, intent(in), optional:: quiet
9709  logical, intent(in), optional:: flag_mpi_split
9710  real(DP), intent(out), optional:: returned_time
9711  logical, intent(out), optional:: flag_time_exist
9712  logical, intent(out), optional:: err
9713  integer, intent(out) :: array(:,:,:,:,:,:,:)
9714  end subroutine historygetint7
9715  end interface
9716  interface
9717  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9718  character(*), intent(in):: file
9719  character(*), intent(in):: varname
9720  character(*), intent(out):: url
9721  character(*), intent(in), optional:: range
9722  logical, intent(out), optional:: flag_time_exist
9723  character(*), intent(out), optional:: time_name
9724  logical, intent(out), optional:: err
9725  end subroutine lookup_growable_url
9726  end interface
9727  interface
9728  function file_rename_mpi( file ) result(result)
9729  use dc_types, only: string
9730  character(*), intent(in):: file
9731  character(STRING):: result
9732  end function file_rename_mpi
9733  end interface
9734  continue
9735  file_work = file
9736  if ( present_and_true( flag_mpi_split ) ) &
9737  & file_work = file_rename_mpi( file_work )
9738  call lookup_growable_url(file = file_work, varname = varname, &
9739  & url = url, &
9740  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9741  call url_chop_iorange( &
9742  & fullname = url, iorange = iorange, remainder = remainder )
9743  call split( str = iorange, carray = carray, sep = gt_equal )
9744  timevar_name = carray(1)
9745  deallocate( carray )
9746  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9747  call historygetint7( file = file, &
9748  & varname = varname, array = array, &
9749  & range = time_range, quiet = quiet, &
9750  & flag_mpi_split = flag_mpi_split, &
9751  & returned_time = returned_time, &
9752  & flag_time_exist = flag_time_exist, &
9753  & err = err )
subroutine historygetint7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal0()

subroutine historygetreal0 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 1666 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_types::sp, dc_error::storeerror(), and dc_types::string.

Referenced by historygetreal0timed(), historygetreal0timei(), and historygetreal0timer().

1666  use gtdata_types, only: gt_variable
1667  use gtdata_generic, only: open, inquire, close, get
1668  use dc_string, only: tochar, split, joinchar, stoa
1671  use dc_regex, only: match
1672  use dc_types, only: string, dp, sp
1673  use dc_message, only: messagenotify
1674  use dc_trace, only: dbgmessage
1677  implicit none
1678  character(*), intent(in):: file
1679  character(*), intent(in):: varname
1680  character(*), intent(in), optional:: range
1681  logical, intent(in), optional:: quiet
1682  logical, intent(in), optional:: flag_mpi_split
1683  real(DP), intent(out), optional:: returned_time ! データの時刻
1684  logical, intent(out), optional:: flag_time_exist
1685  logical, intent(out), optional:: err
1686  real(SP), intent(out) :: array
1687  real(SP) :: array_tmp(1)
1688  type(gt_variable):: var
1689  character(STRING):: file_work, url, actual_url
1690  integer:: rank, alldims, array_rank
1691  integer:: domain
1692  character(STRING):: tname
1693  integer:: stat
1694  character(STRING):: cause_c
1695  character(*), parameter :: subname = "HistoryGetReal0"
1696  interface
1697  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
1698  character(*), intent(in):: file
1699  character(*), intent(in):: varname
1700  character(*), intent(out):: url
1701  character(*), intent(in), optional:: range
1702  logical, intent(out), optional:: flag_time_exist
1703  character(*), intent(out), optional:: time_name
1704  logical, intent(out), optional:: err
1705  end subroutine lookup_growable_url
1706  end interface
1707  interface
1708  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
1709  use dc_types, only: dp
1710  character(*), intent(in) :: url ! 変数 URL
1711  character(*), intent(out), optional :: actual_url
1712  ! 正確な入出力範囲指定
1713  real(DP), intent(out), optional:: returned_time ! データの時刻
1714  character(*), intent(in), optional:: time_name ! 時刻次元の名称
1715  logical, intent(out), optional :: err ! エラーのフラグ
1716  end subroutine actual_iorange_dump
1717  end interface
1718  interface
1719  function file_rename_mpi( file ) result(result)
1720  use dc_types, only: string
1721  character(*), intent(in):: file
1722  character(STRING):: result
1723  end function file_rename_mpi
1724  end interface
1725  continue
1726  cause_c = ''
1727  stat = dc_noerr
1728  file_work = file
1729  ! ファイル名の変更 (MPI 用)
1730  ! Change filename (for MPI)
1731  !
1732  if ( present_and_true( flag_mpi_split ) ) &
1733  & file_work = file_rename_mpi( file_work )
1734  ! 最新時刻の URL 取得
1735  ! Get URL of latest time
1736  !
1737  call lookup_growable_url(file_work, varname, url, range, &
1738  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
1739  if ( present_and_true(err) ) then
1740  stat = gt_enoturl
1741  cause_c = url
1742  goto 999
1743  end if
1744  ! ファイルオープン
1745  ! File open
1746  call open( var, url, err = err )
1747  if ( present_and_true(err) ) then
1748  stat = gt_enoturl
1749  cause_c = url
1750  goto 999
1751  end if
1752  !-------------------------------------------------------------------
1753  ! 配列形状のチェック
1754  ! Check array shape
1755  !-------------------------------------------------------------------
1756  ! 入力ファイル中のデータの次元数
1757  ! Get size of dimesions in data of an input file
1758  !
1759  call inquire( var = var, & ! (in)
1760  & rank = rank, alldims = alldims ) ! (out)
1761  ! 引数の次元数のチェック (縮退されている場合には減らす)
1762  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
1763  array_rank = 0
1764  ! 次元数の比較
1765  ! Compare sizes of dimensions
1766  !
1767  if ( .not. 0 == rank .and. .not. array_rank == rank ) then
1768  if ( .not. present_and_true(quiet) ) then
1769  call messagenotify('W', subname, &
1770  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
1771  & i = (/rank, 0/), c1 = trim(url) )
1772  end if
1773  stat = gt_erankmismatch
1774  cause_c = 'array'
1775  goto 999
1776  end if
1777  ! 入力ファイル中のデータの配列形状取得
1778  ! Get shape of data in an input file
1779  !-------------------------------------
1780  ! データ取得
1781  ! Get data
1782  call inquire( var = var, & ! (in)
1783  & size = domain ) ! (out)
1784  call get( var = var, & ! (inout)
1785  & nvalue = domain, & ! (in)
1786  & value = array_tmp) ! (out)
1787  array = array_tmp(1)
1788  call close( var )
1789  !-------------------------------------
1790  ! データファイル名と切り出し範囲の印字
1791  ! Print data filename and clipping range
1792  call actual_iorange_dump(url, & ! (in)
1793  & actual_url, returned_time, & ! (out) optional
1794  & time_name = tname, & ! (in) optional
1795  & err = err) ! (out) optional
1796  if ( .not. present_and_true(quiet) ) then
1797  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
1798  end if
1799 999 continue
1800  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal0pointer()

subroutine historygetreal0pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5447 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, and dc_types::string.

Referenced by historygetreal0pointertimed(), historygetreal0pointertimei(), and historygetreal0pointertimer().

5447  use gtdata_types, only: gt_variable
5448  use gtdata_generic, only: open, inquire, close, get
5449  use dc_string, only: tochar
5451  use dc_types, only: string, dp, sp
5452  use dc_message, only: messagenotify
5453  use dc_trace, only: dbgmessage
5454  implicit none
5455  character(*), intent(in):: file
5456  character(*), intent(in):: varname
5457  character(*), intent(in), optional:: range
5458  logical, intent(in), optional:: quiet
5459  logical, intent(in), optional:: flag_mpi_split
5460  real(DP), intent(out), optional:: returned_time ! データの時刻
5461  logical, intent(out), optional:: flag_time_exist
5462  logical, intent(out), optional:: err
5463  integer:: domain
5464  real(SP), pointer :: array ! (out)
5465  real(SP), target :: array_tmp(1)
5466  type(gt_variable):: var
5467  character(STRING):: file_work, url, actual_url
5468  character(STRING):: tname
5469  character(*), parameter :: subname = "HistoryGetReal0Pointer"
5470  interface
5471  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5472  character(*), intent(in):: file
5473  character(*), intent(in):: varname
5474  character(*), intent(out):: url
5475  character(*), intent(in), optional:: range
5476  logical, intent(out), optional:: flag_time_exist
5477  character(*), intent(out), optional:: time_name
5478  logical, intent(out), optional:: err
5479  end subroutine lookup_growable_url
5480  end interface
5481  interface
5482  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5483  use dc_types, only: dp
5484  character(*), intent(in) :: url ! 変数 URL
5485  character(*), intent(out), optional :: actual_url
5486  ! 正確な入出力範囲指定
5487  real(DP), intent(out), optional:: returned_time ! データの時刻
5488  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5489  logical, intent(out), optional :: err ! エラーのフラグ
5490  end subroutine actual_iorange_dump
5491  end interface
5492  interface
5493  function file_rename_mpi( file ) result(result)
5494  use dc_types, only: string
5495  character(*), intent(in):: file
5496  character(STRING):: result
5497  end function file_rename_mpi
5498  end interface
5499  continue
5500  file_work = file
5501  ! ファイル名の変更 (MPI 用)
5502  ! Change filename (for MPI)
5503  !
5504  if ( present_and_true( flag_mpi_split ) ) &
5505  & file_work = file_rename_mpi( file_work )
5506  ! 必要な情報を gtool 変数化
5507  !
5508  call lookup_growable_url(file_work, varname, url, range, &
5509  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5510  allocate(array)
5511  call dbgmessage('@ url =%c', c1=trim(url))
5512  ! いよいよデータ取得
5513  !
5514  call open(var, url, err)
5515  call inquire(var=var, size=domain)
5516  call get(var, array_tmp, domain, err)
5517  array = array_tmp(1)
5518  call close(var, err)
5519  call actual_iorange_dump(url, & ! (in)
5520  & actual_url, returned_time, & ! (out) optional
5521  & time_name = tname, & ! (in) optional
5522  & err = err) ! (out) optional
5523  if ( .not. present_and_true(quiet) ) then
5524  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5525  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal0pointertimed()

subroutine historygetreal0pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12190 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12190  use dc_string, only: tochar, split
12191  use dc_types, only: string, dp, sp
12192  use dc_trace, only: dbgmessage
12193  use dc_url, only: url_chop_iorange, gt_equal
12194  use dc_present, only: present_and_true
12195  implicit none
12196  character(*), intent(in):: file, varname
12197  real(DP), intent(in):: time
12198  logical, intent(in), optional:: quiet
12199  real(SP), pointer :: array
12200  logical, intent(in), optional:: flag_mpi_split
12201  real(DP), intent(out), optional:: returned_time
12202  logical, intent(out), optional:: flag_time_exist
12203  logical, intent(out), optional:: err
12204  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12205  character(STRING), pointer:: carray (:)
12206  character(STRING):: tname
12207  character(*), parameter :: subname = "HistoryGetReal0TimeD"
12208  interface
12209  subroutine historygetreal0pointer(&
12210  & file, varname, array, range, quiet, &
12211  & flag_mpi_split, returned_time, flag_time_exist, err)
12212  use dc_types, only: dp, sp
12213  character(*), intent(in):: file
12214  character(*), intent(in):: varname
12215  character(*), intent(in), optional:: range
12216  logical, intent(in), optional:: quiet
12217  logical, intent(in), optional:: flag_mpi_split
12218  real(DP), intent(out), optional:: returned_time
12219  logical, intent(out), optional:: flag_time_exist
12220  logical, intent(out), optional:: err
12221  real(SP), pointer :: array
12222  end subroutine historygetreal0pointer
12223  end interface
12224  interface
12225  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12226  character(*), intent(in):: file
12227  character(*), intent(in):: varname
12228  character(*), intent(out):: url
12229  character(*), intent(in), optional:: range
12230  logical, intent(out), optional:: flag_time_exist
12231  character(*), intent(out), optional:: time_name
12232  logical, intent(out), optional:: err
12233  end subroutine lookup_growable_url
12234  end interface
12235  interface
12236  function file_rename_mpi( file ) result(result)
12237  use dc_types, only: string
12238  character(*), intent(in):: file
12239  character(STRING):: result
12240  end function file_rename_mpi
12241  end interface
12242  continue
12243  file_work = file
12244  if ( present_and_true( flag_mpi_split ) ) &
12245  & file_work = file_rename_mpi( file_work )
12246  call lookup_growable_url(file = file_work, varname = varname, &
12247  & url = url, &
12248  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12249  call url_chop_iorange( &
12250  & fullname = url, iorange = iorange, remainder = remainder )
12251  call split( str = iorange, carray = carray, sep = gt_equal )
12252  timevar_name = carray(1)
12253  deallocate( carray )
12254  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12255  call historygetreal0pointer( file = file, &
12256  & varname = varname, array = array, &
12257  & range = time_range, quiet = quiet, &
12258  & flag_mpi_split = flag_mpi_split, &
12259  & returned_time = returned_time, &
12260  & flag_time_exist = flag_time_exist, &
12261  & err = err )
subroutine historygetreal0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal0pointertimei()

subroutine historygetreal0pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15838 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15838  use dc_string, only: tochar, split
15839  use dc_types, only: string, dp, sp
15840  use dc_trace, only: dbgmessage
15841  use dc_url, only: url_chop_iorange, gt_equal
15842  use dc_present, only: present_and_true
15843  implicit none
15844  character(*), intent(in):: file, varname
15845  integer, intent(in):: time
15846  logical, intent(in), optional:: quiet
15847  real(SP), pointer :: array
15848  logical, intent(in), optional:: flag_mpi_split
15849  real(DP), intent(out), optional:: returned_time
15850  logical, intent(out), optional:: flag_time_exist
15851  logical, intent(out), optional:: err
15852  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15853  character(STRING), pointer:: carray (:)
15854  character(STRING):: tname
15855  character(*), parameter :: subname = "HistoryGetReal0TimeI"
15856  interface
15857  subroutine historygetreal0pointer(&
15858  & file, varname, array, range, quiet, &
15859  & flag_mpi_split, returned_time, flag_time_exist, err)
15860  use dc_types, only: dp, sp
15861  character(*), intent(in):: file
15862  character(*), intent(in):: varname
15863  character(*), intent(in), optional:: range
15864  logical, intent(in), optional:: quiet
15865  logical, intent(in), optional:: flag_mpi_split
15866  real(DP), intent(out), optional:: returned_time
15867  logical, intent(out), optional:: flag_time_exist
15868  logical, intent(out), optional:: err
15869  real(SP), pointer :: array
15870  end subroutine historygetreal0pointer
15871  end interface
15872  interface
15873  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15874  character(*), intent(in):: file
15875  character(*), intent(in):: varname
15876  character(*), intent(out):: url
15877  character(*), intent(in), optional:: range
15878  logical, intent(out), optional:: flag_time_exist
15879  character(*), intent(out), optional:: time_name
15880  logical, intent(out), optional:: err
15881  end subroutine lookup_growable_url
15882  end interface
15883  interface
15884  function file_rename_mpi( file ) result(result)
15885  use dc_types, only: string
15886  character(*), intent(in):: file
15887  character(STRING):: result
15888  end function file_rename_mpi
15889  end interface
15890  continue
15891  file_work = file
15892  if ( present_and_true( flag_mpi_split ) ) &
15893  & file_work = file_rename_mpi( file_work )
15894  call lookup_growable_url(file = file_work, varname = varname, &
15895  & url = url, &
15896  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15897  call url_chop_iorange( &
15898  & fullname = url, iorange = iorange, remainder = remainder )
15899  call split( str = iorange, carray = carray, sep = gt_equal )
15900  timevar_name = carray(1)
15901  deallocate( carray )
15902  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15903  call historygetreal0pointer( file = file, &
15904  & varname = varname, array = array, &
15905  & range = time_range, quiet = quiet, &
15906  & flag_mpi_split = flag_mpi_split, &
15907  & returned_time = returned_time, &
15908  & flag_time_exist = flag_time_exist, &
15909  & err = err )
subroutine historygetreal0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal0pointertimer()

subroutine historygetreal0pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8542 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal0pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8542  use dc_string, only: tochar, split
8543  use dc_types, only: string, dp, sp
8544  use dc_trace, only: dbgmessage
8545  use dc_url, only: url_chop_iorange, gt_equal
8546  use dc_present, only: present_and_true
8547  implicit none
8548  character(*), intent(in):: file, varname
8549  real(SP), intent(in):: time
8550  logical, intent(in), optional:: quiet
8551  real(SP), pointer :: array
8552  logical, intent(in), optional:: flag_mpi_split
8553  real(DP), intent(out), optional:: returned_time
8554  logical, intent(out), optional:: flag_time_exist
8555  logical, intent(out), optional:: err
8556  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8557  character(STRING), pointer:: carray (:)
8558  character(STRING):: tname
8559  character(*), parameter :: subname = "HistoryGetReal0TimeR"
8560  interface
8561  subroutine historygetreal0pointer(&
8562  & file, varname, array, range, quiet, &
8563  & flag_mpi_split, returned_time, flag_time_exist, err)
8564  use dc_types, only: dp, sp
8565  character(*), intent(in):: file
8566  character(*), intent(in):: varname
8567  character(*), intent(in), optional:: range
8568  logical, intent(in), optional:: quiet
8569  logical, intent(in), optional:: flag_mpi_split
8570  real(DP), intent(out), optional:: returned_time
8571  logical, intent(out), optional:: flag_time_exist
8572  logical, intent(out), optional:: err
8573  real(SP), pointer :: array
8574  end subroutine historygetreal0pointer
8575  end interface
8576  interface
8577  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8578  character(*), intent(in):: file
8579  character(*), intent(in):: varname
8580  character(*), intent(out):: url
8581  character(*), intent(in), optional:: range
8582  logical, intent(out), optional:: flag_time_exist
8583  character(*), intent(out), optional:: time_name
8584  logical, intent(out), optional:: err
8585  end subroutine lookup_growable_url
8586  end interface
8587  interface
8588  function file_rename_mpi( file ) result(result)
8589  use dc_types, only: string
8590  character(*), intent(in):: file
8591  character(STRING):: result
8592  end function file_rename_mpi
8593  end interface
8594  continue
8595  file_work = file
8596  if ( present_and_true( flag_mpi_split ) ) &
8597  & file_work = file_rename_mpi( file_work )
8598  call lookup_growable_url(file = file_work, varname = varname, &
8599  & url = url, &
8600  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8601  call url_chop_iorange( &
8602  & fullname = url, iorange = iorange, remainder = remainder )
8603  call split( str = iorange, carray = carray, sep = gt_equal )
8604  timevar_name = carray(1)
8605  deallocate( carray )
8606  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8607  call historygetreal0pointer( file = file, &
8608  & varname = varname, array = array, &
8609  & range = time_range, quiet = quiet, &
8610  & flag_mpi_split = flag_mpi_split, &
8611  & returned_time = returned_time, &
8612  & flag_time_exist = flag_time_exist, &
8613  & err = err )
subroutine historygetreal0pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal0timed()

subroutine historygetreal0timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11582 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

11582  use dc_string, only: tochar, split
11583  use dc_types, only: string, dp, sp
11584  use dc_trace, only: dbgmessage
11585  use dc_url, only: url_chop_iorange, gt_equal
11586  use dc_present, only: present_and_true
11587  implicit none
11588  character(*), intent(in):: file, varname
11589  real(DP), intent(in):: time
11590  logical, intent(in), optional:: quiet
11591  real(SP), intent(out) :: array
11592  logical, intent(in), optional:: flag_mpi_split
11593  real(DP), intent(out), optional:: returned_time
11594  logical, intent(out), optional:: flag_time_exist
11595  logical, intent(out), optional:: err
11596  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11597  character(STRING), pointer:: carray (:)
11598  character(STRING):: tname
11599  character(*), parameter :: subname = "HistoryGetReal0TimeD"
11600  interface
11601  subroutine historygetreal0(&
11602  & file, varname, array, range, quiet, &
11603  & flag_mpi_split, returned_time, flag_time_exist, err)
11604  use dc_types, only: dp, sp
11605  character(*), intent(in):: file
11606  character(*), intent(in):: varname
11607  character(*), intent(in), optional:: range
11608  logical, intent(in), optional:: quiet
11609  logical, intent(in), optional:: flag_mpi_split
11610  real(DP), intent(out), optional:: returned_time
11611  logical, intent(out), optional:: flag_time_exist
11612  logical, intent(out), optional:: err
11613  real(SP), intent(out) :: array
11614  end subroutine historygetreal0
11615  end interface
11616  interface
11617  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11618  character(*), intent(in):: file
11619  character(*), intent(in):: varname
11620  character(*), intent(out):: url
11621  character(*), intent(in), optional:: range
11622  logical, intent(out), optional:: flag_time_exist
11623  character(*), intent(out), optional:: time_name
11624  logical, intent(out), optional:: err
11625  end subroutine lookup_growable_url
11626  end interface
11627  interface
11628  function file_rename_mpi( file ) result(result)
11629  use dc_types, only: string
11630  character(*), intent(in):: file
11631  character(STRING):: result
11632  end function file_rename_mpi
11633  end interface
11634  continue
11635  file_work = file
11636  if ( present_and_true( flag_mpi_split ) ) &
11637  & file_work = file_rename_mpi( file_work )
11638  call lookup_growable_url(file = file_work, varname = varname, &
11639  & url = url, &
11640  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11641  call url_chop_iorange( &
11642  & fullname = url, iorange = iorange, remainder = remainder )
11643  call split( str = iorange, carray = carray, sep = gt_equal )
11644  timevar_name = carray(1)
11645  deallocate( carray )
11646  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11647  call historygetreal0( file = file, &
11648  & varname = varname, array = array, &
11649  & range = time_range, quiet = quiet, &
11650  & flag_mpi_split = flag_mpi_split, &
11651  & returned_time = returned_time, &
11652  & flag_time_exist = flag_time_exist, &
11653  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetreal0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal0timei()

subroutine historygetreal0timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15230 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15230  use dc_string, only: tochar, split
15231  use dc_types, only: string, dp, sp
15232  use dc_trace, only: dbgmessage
15233  use dc_url, only: url_chop_iorange, gt_equal
15234  use dc_present, only: present_and_true
15235  implicit none
15236  character(*), intent(in):: file, varname
15237  integer, intent(in):: time
15238  logical, intent(in), optional:: quiet
15239  real(SP), intent(out) :: array
15240  logical, intent(in), optional:: flag_mpi_split
15241  real(DP), intent(out), optional:: returned_time
15242  logical, intent(out), optional:: flag_time_exist
15243  logical, intent(out), optional:: err
15244  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15245  character(STRING), pointer:: carray (:)
15246  character(STRING):: tname
15247  character(*), parameter :: subname = "HistoryGetReal0TimeI"
15248  interface
15249  subroutine historygetreal0(&
15250  & file, varname, array, range, quiet, &
15251  & flag_mpi_split, returned_time, flag_time_exist, err)
15252  use dc_types, only: dp, sp
15253  character(*), intent(in):: file
15254  character(*), intent(in):: varname
15255  character(*), intent(in), optional:: range
15256  logical, intent(in), optional:: quiet
15257  logical, intent(in), optional:: flag_mpi_split
15258  real(DP), intent(out), optional:: returned_time
15259  logical, intent(out), optional:: flag_time_exist
15260  logical, intent(out), optional:: err
15261  real(SP), intent(out) :: array
15262  end subroutine historygetreal0
15263  end interface
15264  interface
15265  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15266  character(*), intent(in):: file
15267  character(*), intent(in):: varname
15268  character(*), intent(out):: url
15269  character(*), intent(in), optional:: range
15270  logical, intent(out), optional:: flag_time_exist
15271  character(*), intent(out), optional:: time_name
15272  logical, intent(out), optional:: err
15273  end subroutine lookup_growable_url
15274  end interface
15275  interface
15276  function file_rename_mpi( file ) result(result)
15277  use dc_types, only: string
15278  character(*), intent(in):: file
15279  character(STRING):: result
15280  end function file_rename_mpi
15281  end interface
15282  continue
15283  file_work = file
15284  if ( present_and_true( flag_mpi_split ) ) &
15285  & file_work = file_rename_mpi( file_work )
15286  call lookup_growable_url(file = file_work, varname = varname, &
15287  & url = url, &
15288  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15289  call url_chop_iorange( &
15290  & fullname = url, iorange = iorange, remainder = remainder )
15291  call split( str = iorange, carray = carray, sep = gt_equal )
15292  timevar_name = carray(1)
15293  deallocate( carray )
15294  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15295  call historygetreal0( file = file, &
15296  & varname = varname, array = array, &
15297  & range = time_range, quiet = quiet, &
15298  & flag_mpi_split = flag_mpi_split, &
15299  & returned_time = returned_time, &
15300  & flag_time_exist = flag_time_exist, &
15301  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetreal0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal0timer()

subroutine historygetreal0timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 7934 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal0(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

7934  use dc_string, only: tochar, split
7935  use dc_types, only: string, dp, sp
7936  use dc_trace, only: dbgmessage
7937  use dc_url, only: url_chop_iorange, gt_equal
7938  use dc_present, only: present_and_true
7939  implicit none
7940  character(*), intent(in):: file, varname
7941  real(SP), intent(in):: time
7942  logical, intent(in), optional:: quiet
7943  real(SP), intent(out) :: array
7944  logical, intent(in), optional:: flag_mpi_split
7945  real(DP), intent(out), optional:: returned_time
7946  logical, intent(out), optional:: flag_time_exist
7947  logical, intent(out), optional:: err
7948  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
7949  character(STRING), pointer:: carray (:)
7950  character(STRING):: tname
7951  character(*), parameter :: subname = "HistoryGetReal0TimeR"
7952  interface
7953  subroutine historygetreal0(&
7954  & file, varname, array, range, quiet, &
7955  & flag_mpi_split, returned_time, flag_time_exist, err)
7956  use dc_types, only: dp, sp
7957  character(*), intent(in):: file
7958  character(*), intent(in):: varname
7959  character(*), intent(in), optional:: range
7960  logical, intent(in), optional:: quiet
7961  logical, intent(in), optional:: flag_mpi_split
7962  real(DP), intent(out), optional:: returned_time
7963  logical, intent(out), optional:: flag_time_exist
7964  logical, intent(out), optional:: err
7965  real(SP), intent(out) :: array
7966  end subroutine historygetreal0
7967  end interface
7968  interface
7969  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
7970  character(*), intent(in):: file
7971  character(*), intent(in):: varname
7972  character(*), intent(out):: url
7973  character(*), intent(in), optional:: range
7974  logical, intent(out), optional:: flag_time_exist
7975  character(*), intent(out), optional:: time_name
7976  logical, intent(out), optional:: err
7977  end subroutine lookup_growable_url
7978  end interface
7979  interface
7980  function file_rename_mpi( file ) result(result)
7981  use dc_types, only: string
7982  character(*), intent(in):: file
7983  character(STRING):: result
7984  end function file_rename_mpi
7985  end interface
7986  continue
7987  file_work = file
7988  if ( present_and_true( flag_mpi_split ) ) &
7989  & file_work = file_rename_mpi( file_work )
7990  call lookup_growable_url(file = file_work, varname = varname, &
7991  & url = url, &
7992  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
7993  call url_chop_iorange( &
7994  & fullname = url, iorange = iorange, remainder = remainder )
7995  call split( str = iorange, carray = carray, sep = gt_equal )
7996  timevar_name = carray(1)
7997  deallocate( carray )
7998  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
7999  call historygetreal0( file = file, &
8000  & varname = varname, array = array, &
8001  & range = time_range, quiet = quiet, &
8002  & flag_mpi_split = flag_mpi_split, &
8003  & returned_time = returned_time, &
8004  & flag_time_exist = flag_time_exist, &
8005  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetreal0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal1()

subroutine historygetreal1 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 1804 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_types::sp, dc_error::storeerror(), and dc_types::string.

Referenced by historygetreal1timed(), historygetreal1timei(), and historygetreal1timer().

1804  use gtdata_types, only: gt_variable
1805  use gtdata_generic, only: open, inquire, close, get
1806  use dc_string, only: tochar, split, joinchar, stoa
1809  use dc_regex, only: match
1810  use dc_types, only: string, dp, sp
1811  use dc_message, only: messagenotify
1812  use dc_trace, only: dbgmessage
1815  implicit none
1816  character(*), intent(in):: file
1817  character(*), intent(in):: varname
1818  character(*), intent(in), optional:: range
1819  logical, intent(in), optional:: quiet
1820  logical, intent(in), optional:: flag_mpi_split
1821  real(DP), intent(out), optional:: returned_time ! データの時刻
1822  logical, intent(out), optional:: flag_time_exist
1823  logical, intent(out), optional:: err
1824  real(SP), intent(out) :: array(:)
1825  real(SP), allocatable :: array_tmp(:)
1826  integer:: array_allsize
1827  integer:: array_shape(1), data_shape(1), array_shape_check(1)
1828  integer:: allcount
1829  integer:: i, sd
1830  logical:: inq_err
1831  type(gt_variable):: var
1832  character(STRING):: file_work, url, actual_url
1833  integer:: rank, alldims, array_rank
1834  integer:: domain
1835  character(STRING):: tname
1836  integer:: stat
1837  character(STRING):: cause_c
1838  character(*), parameter :: subname = "HistoryGetReal1"
1839  interface
1840  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
1841  character(*), intent(in):: file
1842  character(*), intent(in):: varname
1843  character(*), intent(out):: url
1844  character(*), intent(in), optional:: range
1845  logical, intent(out), optional:: flag_time_exist
1846  character(*), intent(out), optional:: time_name
1847  logical, intent(out), optional:: err
1848  end subroutine lookup_growable_url
1849  end interface
1850  interface
1851  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
1852  use dc_types, only: dp
1853  character(*), intent(in) :: url ! 変数 URL
1854  character(*), intent(out), optional :: actual_url
1855  ! 正確な入出力範囲指定
1856  real(DP), intent(out), optional:: returned_time ! データの時刻
1857  character(*), intent(in), optional:: time_name ! 時刻次元の名称
1858  logical, intent(out), optional :: err ! エラーのフラグ
1859  end subroutine actual_iorange_dump
1860  end interface
1861  interface
1862  function file_rename_mpi( file ) result(result)
1863  use dc_types, only: string
1864  character(*), intent(in):: file
1865  character(STRING):: result
1866  end function file_rename_mpi
1867  end interface
1868  continue
1869  cause_c = ''
1870  stat = dc_noerr
1871  file_work = file
1872  array_shape = shape( array )
1873  array_allsize = size( array )
1874  ! ファイル名の変更 (MPI 用)
1875  ! Change filename (for MPI)
1876  !
1877  if ( present_and_true( flag_mpi_split ) ) &
1878  & file_work = file_rename_mpi( file_work )
1879  ! 最新時刻の URL 取得
1880  ! Get URL of latest time
1881  !
1882  call lookup_growable_url(file_work, varname, url, range, &
1883  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
1884  if ( present_and_true(err) ) then
1885  stat = gt_enoturl
1886  cause_c = url
1887  goto 999
1888  end if
1889  ! ファイルオープン
1890  ! File open
1891  call open( var, url, err = err )
1892  if ( present_and_true(err) ) then
1893  stat = gt_enoturl
1894  cause_c = url
1895  goto 999
1896  end if
1897  !-------------------------------------------------------------------
1898  ! 配列形状のチェック
1899  ! Check array shape
1900  !-------------------------------------------------------------------
1901  ! 入力ファイル中のデータの次元数
1902  ! Get size of dimesions in data of an input file
1903  !
1904  call inquire( var = var, & ! (in)
1905  & rank = rank, alldims = alldims ) ! (out)
1906  ! 引数の次元数のチェック (縮退されている場合には減らす)
1907  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
1908  array_rank = 1
1909  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
1910  ! 次元数の比較
1911  ! Compare sizes of dimensions
1912  !
1913  if ( .not. 1 == rank .and. .not. array_rank == rank ) then
1914  if ( .not. present_and_true(quiet) ) then
1915  call messagenotify('W', subname, &
1916  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
1917  & i = (/rank, 1/), c1 = trim(url) )
1918  end if
1919  stat = gt_erankmismatch
1920  cause_c = 'array'
1921  goto 999
1922  end if
1923  ! 入力ファイル中のデータの配列形状取得
1924  ! Get shape of data in an input file
1925  call inquire( var = var , dimord = 1, & ! (in)
1926  & allcount = allcount, err = inq_err ) ! (out)
1927  if ( .not. inq_err ) then
1928  data_shape(1) = allcount
1929  else
1930  data_shape(1) = 1
1931  end if
1932  ! 引数の配列形状整形
1933  ! Arrange shape of an argument
1934  !
1935  array_shape_check = array_shape
1936  sd = 1
1937  do i = 1, 1 - 1
1938  if ( array_shape_check(sd) == 1 ) then
1939  array_shape_check(sd:1) = cshift( array_shape_check(sd:1), 1, 1 )
1940  else
1941  sd = sd + 1
1942  end if
1943  end do
1944  ! 配列形状の比較
1945  ! Compare shapes
1946  !
1947  if ( .not. all( array_shape_check == data_shape ) ) then
1948  if ( .not. present_and_true(quiet) ) then
1949  call messagenotify('W', subname, &
1950  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
1951  & c1 = trim( url ), &
1952  & c2 = trim( tochar( data_shape(1:rank) ) ), &
1953  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
1954  end if
1955  stat = gt_eargsizemismatch
1956  cause_c = 'array'
1957  goto 999
1958  end if
1959  !-------------------------------------
1960  ! データ取得
1961  ! Get data
1962  call inquire( var = var, & ! (in)
1963  & size = domain ) ! (out)
1964  if ( allocated( array_tmp ) ) deallocate( array_tmp )
1965  allocate( array_tmp(array_allsize) )
1966  call get( var, array_tmp, domain )
1967  array = reshape( array_tmp, array_shape )
1968  deallocate( array_tmp )
1969  call close( var )
1970  !-------------------------------------
1971  ! データファイル名と切り出し範囲の印字
1972  ! Print data filename and clipping range
1973  call actual_iorange_dump(url, & ! (in)
1974  & actual_url, returned_time, & ! (out) optional
1975  & time_name = tname, & ! (in) optional
1976  & err = err) ! (out) optional
1977  if ( .not. present_and_true(quiet) ) then
1978  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
1979  end if
1980 999 continue
1981  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal1pointer()

subroutine historygetreal1pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5529 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, and dc_types::string.

Referenced by historygetreal1pointertimed(), historygetreal1pointertimei(), and historygetreal1pointertimer().

5529  use gtdata_types, only: gt_variable
5530  use gtdata_generic, only: open, inquire, close, get
5531  use dc_string, only: tochar
5533  use dc_types, only: string, dp, sp
5534  use dc_message, only: messagenotify
5535  use dc_trace, only: dbgmessage
5536  implicit none
5537  character(*), intent(in):: file
5538  character(*), intent(in):: varname
5539  character(*), intent(in), optional:: range
5540  logical, intent(in), optional:: quiet
5541  logical, intent(in), optional:: flag_mpi_split
5542  real(DP), intent(out), optional:: returned_time ! データの時刻
5543  logical, intent(out), optional:: flag_time_exist
5544  logical, intent(out), optional:: err
5545  integer:: domain
5546  real(SP), pointer :: array(:) ! (out)
5547  real(SP), target :: array_tmp(1)
5548  type(gt_variable):: var
5549  character(STRING):: file_work, url, actual_url
5550  character(STRING):: tname
5551  character(*), parameter :: subname = "HistoryGetReal1Pointer"
5552  interface
5553  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5554  character(*), intent(in):: file
5555  character(*), intent(in):: varname
5556  character(*), intent(out):: url
5557  character(*), intent(in), optional:: range
5558  logical, intent(out), optional:: flag_time_exist
5559  character(*), intent(out), optional:: time_name
5560  logical, intent(out), optional:: err
5561  end subroutine lookup_growable_url
5562  end interface
5563  interface
5564  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5565  use dc_types, only: dp
5566  character(*), intent(in) :: url ! 変数 URL
5567  character(*), intent(out), optional :: actual_url
5568  ! 正確な入出力範囲指定
5569  real(DP), intent(out), optional:: returned_time ! データの時刻
5570  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5571  logical, intent(out), optional :: err ! エラーのフラグ
5572  end subroutine actual_iorange_dump
5573  end interface
5574  interface
5575  function file_rename_mpi( file ) result(result)
5576  use dc_types, only: string
5577  character(*), intent(in):: file
5578  character(STRING):: result
5579  end function file_rename_mpi
5580  end interface
5581  continue
5582  file_work = file
5583  ! ファイル名の変更 (MPI 用)
5584  ! Change filename (for MPI)
5585  !
5586  if ( present_and_true( flag_mpi_split ) ) &
5587  & file_work = file_rename_mpi( file_work )
5588  ! 必要な情報を gtool 変数化
5589  !
5590  call lookup_growable_url(file_work, varname, url, range, &
5591  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5592  call dbgmessage('@ url =%c', c1=trim(url))
5593  ! いよいよデータ取得
5594  !
5595  call open(var, url, err)
5596  call get(var, array, err)
5597  call close(var, err)
5598  call actual_iorange_dump(url, & ! (in)
5599  & actual_url, returned_time, & ! (out) optional
5600  & time_name = tname, & ! (in) optional
5601  & err = err) ! (out) optional
5602  if ( .not. present_and_true(quiet) ) then
5603  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5604  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal1pointertimed()

subroutine historygetreal1pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12266 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12266  use dc_string, only: tochar, split
12267  use dc_types, only: string, dp, sp
12268  use dc_trace, only: dbgmessage
12269  use dc_url, only: url_chop_iorange, gt_equal
12270  use dc_present, only: present_and_true
12271  implicit none
12272  character(*), intent(in):: file, varname
12273  real(DP), intent(in):: time
12274  logical, intent(in), optional:: quiet
12275  real(SP), pointer :: array(:)
12276  logical, intent(in), optional:: flag_mpi_split
12277  real(DP), intent(out), optional:: returned_time
12278  logical, intent(out), optional:: flag_time_exist
12279  logical, intent(out), optional:: err
12280  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12281  character(STRING), pointer:: carray (:)
12282  character(STRING):: tname
12283  character(*), parameter :: subname = "HistoryGetReal1TimeD"
12284  interface
12285  subroutine historygetreal1pointer(&
12286  & file, varname, array, range, quiet, &
12287  & flag_mpi_split, returned_time, flag_time_exist, err)
12288  use dc_types, only: dp, sp
12289  character(*), intent(in):: file
12290  character(*), intent(in):: varname
12291  character(*), intent(in), optional:: range
12292  logical, intent(in), optional:: quiet
12293  logical, intent(in), optional:: flag_mpi_split
12294  real(DP), intent(out), optional:: returned_time
12295  logical, intent(out), optional:: flag_time_exist
12296  logical, intent(out), optional:: err
12297  real(SP), pointer :: array(:)
12298  end subroutine historygetreal1pointer
12299  end interface
12300  interface
12301  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12302  character(*), intent(in):: file
12303  character(*), intent(in):: varname
12304  character(*), intent(out):: url
12305  character(*), intent(in), optional:: range
12306  logical, intent(out), optional:: flag_time_exist
12307  character(*), intent(out), optional:: time_name
12308  logical, intent(out), optional:: err
12309  end subroutine lookup_growable_url
12310  end interface
12311  interface
12312  function file_rename_mpi( file ) result(result)
12313  use dc_types, only: string
12314  character(*), intent(in):: file
12315  character(STRING):: result
12316  end function file_rename_mpi
12317  end interface
12318  continue
12319  file_work = file
12320  if ( present_and_true( flag_mpi_split ) ) &
12321  & file_work = file_rename_mpi( file_work )
12322  call lookup_growable_url(file = file_work, varname = varname, &
12323  & url = url, &
12324  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12325  call url_chop_iorange( &
12326  & fullname = url, iorange = iorange, remainder = remainder )
12327  call split( str = iorange, carray = carray, sep = gt_equal )
12328  timevar_name = carray(1)
12329  deallocate( carray )
12330  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12331  call historygetreal1pointer( file = file, &
12332  & varname = varname, array = array, &
12333  & range = time_range, quiet = quiet, &
12334  & flag_mpi_split = flag_mpi_split, &
12335  & returned_time = returned_time, &
12336  & flag_time_exist = flag_time_exist, &
12337  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal1pointertimei()

subroutine historygetreal1pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15914 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15914  use dc_string, only: tochar, split
15915  use dc_types, only: string, dp, sp
15916  use dc_trace, only: dbgmessage
15917  use dc_url, only: url_chop_iorange, gt_equal
15918  use dc_present, only: present_and_true
15919  implicit none
15920  character(*), intent(in):: file, varname
15921  integer, intent(in):: time
15922  logical, intent(in), optional:: quiet
15923  real(SP), pointer :: array(:)
15924  logical, intent(in), optional:: flag_mpi_split
15925  real(DP), intent(out), optional:: returned_time
15926  logical, intent(out), optional:: flag_time_exist
15927  logical, intent(out), optional:: err
15928  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15929  character(STRING), pointer:: carray (:)
15930  character(STRING):: tname
15931  character(*), parameter :: subname = "HistoryGetReal1TimeI"
15932  interface
15933  subroutine historygetreal1pointer(&
15934  & file, varname, array, range, quiet, &
15935  & flag_mpi_split, returned_time, flag_time_exist, err)
15936  use dc_types, only: dp, sp
15937  character(*), intent(in):: file
15938  character(*), intent(in):: varname
15939  character(*), intent(in), optional:: range
15940  logical, intent(in), optional:: quiet
15941  logical, intent(in), optional:: flag_mpi_split
15942  real(DP), intent(out), optional:: returned_time
15943  logical, intent(out), optional:: flag_time_exist
15944  logical, intent(out), optional:: err
15945  real(SP), pointer :: array(:)
15946  end subroutine historygetreal1pointer
15947  end interface
15948  interface
15949  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15950  character(*), intent(in):: file
15951  character(*), intent(in):: varname
15952  character(*), intent(out):: url
15953  character(*), intent(in), optional:: range
15954  logical, intent(out), optional:: flag_time_exist
15955  character(*), intent(out), optional:: time_name
15956  logical, intent(out), optional:: err
15957  end subroutine lookup_growable_url
15958  end interface
15959  interface
15960  function file_rename_mpi( file ) result(result)
15961  use dc_types, only: string
15962  character(*), intent(in):: file
15963  character(STRING):: result
15964  end function file_rename_mpi
15965  end interface
15966  continue
15967  file_work = file
15968  if ( present_and_true( flag_mpi_split ) ) &
15969  & file_work = file_rename_mpi( file_work )
15970  call lookup_growable_url(file = file_work, varname = varname, &
15971  & url = url, &
15972  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15973  call url_chop_iorange( &
15974  & fullname = url, iorange = iorange, remainder = remainder )
15975  call split( str = iorange, carray = carray, sep = gt_equal )
15976  timevar_name = carray(1)
15977  deallocate( carray )
15978  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15979  call historygetreal1pointer( file = file, &
15980  & varname = varname, array = array, &
15981  & range = time_range, quiet = quiet, &
15982  & flag_mpi_split = flag_mpi_split, &
15983  & returned_time = returned_time, &
15984  & flag_time_exist = flag_time_exist, &
15985  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal1pointertimer()

subroutine historygetreal1pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8618 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal1pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8618  use dc_string, only: tochar, split
8619  use dc_types, only: string, dp, sp
8620  use dc_trace, only: dbgmessage
8621  use dc_url, only: url_chop_iorange, gt_equal
8622  use dc_present, only: present_and_true
8623  implicit none
8624  character(*), intent(in):: file, varname
8625  real(SP), intent(in):: time
8626  logical, intent(in), optional:: quiet
8627  real(SP), pointer :: array(:)
8628  logical, intent(in), optional:: flag_mpi_split
8629  real(DP), intent(out), optional:: returned_time
8630  logical, intent(out), optional:: flag_time_exist
8631  logical, intent(out), optional:: err
8632  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8633  character(STRING), pointer:: carray (:)
8634  character(STRING):: tname
8635  character(*), parameter :: subname = "HistoryGetReal1TimeR"
8636  interface
8637  subroutine historygetreal1pointer(&
8638  & file, varname, array, range, quiet, &
8639  & flag_mpi_split, returned_time, flag_time_exist, err)
8640  use dc_types, only: dp, sp
8641  character(*), intent(in):: file
8642  character(*), intent(in):: varname
8643  character(*), intent(in), optional:: range
8644  logical, intent(in), optional:: quiet
8645  logical, intent(in), optional:: flag_mpi_split
8646  real(DP), intent(out), optional:: returned_time
8647  logical, intent(out), optional:: flag_time_exist
8648  logical, intent(out), optional:: err
8649  real(SP), pointer :: array(:)
8650  end subroutine historygetreal1pointer
8651  end interface
8652  interface
8653  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8654  character(*), intent(in):: file
8655  character(*), intent(in):: varname
8656  character(*), intent(out):: url
8657  character(*), intent(in), optional:: range
8658  logical, intent(out), optional:: flag_time_exist
8659  character(*), intent(out), optional:: time_name
8660  logical, intent(out), optional:: err
8661  end subroutine lookup_growable_url
8662  end interface
8663  interface
8664  function file_rename_mpi( file ) result(result)
8665  use dc_types, only: string
8666  character(*), intent(in):: file
8667  character(STRING):: result
8668  end function file_rename_mpi
8669  end interface
8670  continue
8671  file_work = file
8672  if ( present_and_true( flag_mpi_split ) ) &
8673  & file_work = file_rename_mpi( file_work )
8674  call lookup_growable_url(file = file_work, varname = varname, &
8675  & url = url, &
8676  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8677  call url_chop_iorange( &
8678  & fullname = url, iorange = iorange, remainder = remainder )
8679  call split( str = iorange, carray = carray, sep = gt_equal )
8680  timevar_name = carray(1)
8681  deallocate( carray )
8682  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8683  call historygetreal1pointer( file = file, &
8684  & varname = varname, array = array, &
8685  & range = time_range, quiet = quiet, &
8686  & flag_mpi_split = flag_mpi_split, &
8687  & returned_time = returned_time, &
8688  & flag_time_exist = flag_time_exist, &
8689  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal1pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal1timed()

subroutine historygetreal1timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11658 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

11658  use dc_string, only: tochar, split
11659  use dc_types, only: string, dp, sp
11660  use dc_trace, only: dbgmessage
11661  use dc_url, only: url_chop_iorange, gt_equal
11662  use dc_present, only: present_and_true
11663  implicit none
11664  character(*), intent(in):: file, varname
11665  real(DP), intent(in):: time
11666  logical, intent(in), optional:: quiet
11667  real(SP), intent(out) :: array(:)
11668  logical, intent(in), optional:: flag_mpi_split
11669  real(DP), intent(out), optional:: returned_time
11670  logical, intent(out), optional:: flag_time_exist
11671  logical, intent(out), optional:: err
11672  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11673  character(STRING), pointer:: carray (:)
11674  character(STRING):: tname
11675  character(*), parameter :: subname = "HistoryGetReal1TimeD"
11676  interface
11677  subroutine historygetreal1(&
11678  & file, varname, array, range, quiet, &
11679  & flag_mpi_split, returned_time, flag_time_exist, err)
11680  use dc_types, only: dp, sp
11681  character(*), intent(in):: file
11682  character(*), intent(in):: varname
11683  character(*), intent(in), optional:: range
11684  logical, intent(in), optional:: quiet
11685  logical, intent(in), optional:: flag_mpi_split
11686  real(DP), intent(out), optional:: returned_time
11687  logical, intent(out), optional:: flag_time_exist
11688  logical, intent(out), optional:: err
11689  real(SP), intent(out) :: array(:)
11690  end subroutine historygetreal1
11691  end interface
11692  interface
11693  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11694  character(*), intent(in):: file
11695  character(*), intent(in):: varname
11696  character(*), intent(out):: url
11697  character(*), intent(in), optional:: range
11698  logical, intent(out), optional:: flag_time_exist
11699  character(*), intent(out), optional:: time_name
11700  logical, intent(out), optional:: err
11701  end subroutine lookup_growable_url
11702  end interface
11703  interface
11704  function file_rename_mpi( file ) result(result)
11705  use dc_types, only: string
11706  character(*), intent(in):: file
11707  character(STRING):: result
11708  end function file_rename_mpi
11709  end interface
11710  continue
11711  file_work = file
11712  if ( present_and_true( flag_mpi_split ) ) &
11713  & file_work = file_rename_mpi( file_work )
11714  call lookup_growable_url(file = file_work, varname = varname, &
11715  & url = url, &
11716  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11717  call url_chop_iorange( &
11718  & fullname = url, iorange = iorange, remainder = remainder )
11719  call split( str = iorange, carray = carray, sep = gt_equal )
11720  timevar_name = carray(1)
11721  deallocate( carray )
11722  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11723  call historygetreal1( file = file, &
11724  & varname = varname, array = array, &
11725  & range = time_range, quiet = quiet, &
11726  & flag_mpi_split = flag_mpi_split, &
11727  & returned_time = returned_time, &
11728  & flag_time_exist = flag_time_exist, &
11729  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal1timei()

subroutine historygetreal1timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15306 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15306  use dc_string, only: tochar, split
15307  use dc_types, only: string, dp, sp
15308  use dc_trace, only: dbgmessage
15309  use dc_url, only: url_chop_iorange, gt_equal
15310  use dc_present, only: present_and_true
15311  implicit none
15312  character(*), intent(in):: file, varname
15313  integer, intent(in):: time
15314  logical, intent(in), optional:: quiet
15315  real(SP), intent(out) :: array(:)
15316  logical, intent(in), optional:: flag_mpi_split
15317  real(DP), intent(out), optional:: returned_time
15318  logical, intent(out), optional:: flag_time_exist
15319  logical, intent(out), optional:: err
15320  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15321  character(STRING), pointer:: carray (:)
15322  character(STRING):: tname
15323  character(*), parameter :: subname = "HistoryGetReal1TimeI"
15324  interface
15325  subroutine historygetreal1(&
15326  & file, varname, array, range, quiet, &
15327  & flag_mpi_split, returned_time, flag_time_exist, err)
15328  use dc_types, only: dp, sp
15329  character(*), intent(in):: file
15330  character(*), intent(in):: varname
15331  character(*), intent(in), optional:: range
15332  logical, intent(in), optional:: quiet
15333  logical, intent(in), optional:: flag_mpi_split
15334  real(DP), intent(out), optional:: returned_time
15335  logical, intent(out), optional:: flag_time_exist
15336  logical, intent(out), optional:: err
15337  real(SP), intent(out) :: array(:)
15338  end subroutine historygetreal1
15339  end interface
15340  interface
15341  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15342  character(*), intent(in):: file
15343  character(*), intent(in):: varname
15344  character(*), intent(out):: url
15345  character(*), intent(in), optional:: range
15346  logical, intent(out), optional:: flag_time_exist
15347  character(*), intent(out), optional:: time_name
15348  logical, intent(out), optional:: err
15349  end subroutine lookup_growable_url
15350  end interface
15351  interface
15352  function file_rename_mpi( file ) result(result)
15353  use dc_types, only: string
15354  character(*), intent(in):: file
15355  character(STRING):: result
15356  end function file_rename_mpi
15357  end interface
15358  continue
15359  file_work = file
15360  if ( present_and_true( flag_mpi_split ) ) &
15361  & file_work = file_rename_mpi( file_work )
15362  call lookup_growable_url(file = file_work, varname = varname, &
15363  & url = url, &
15364  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15365  call url_chop_iorange( &
15366  & fullname = url, iorange = iorange, remainder = remainder )
15367  call split( str = iorange, carray = carray, sep = gt_equal )
15368  timevar_name = carray(1)
15369  deallocate( carray )
15370  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15371  call historygetreal1( file = file, &
15372  & varname = varname, array = array, &
15373  & range = time_range, quiet = quiet, &
15374  & flag_mpi_split = flag_mpi_split, &
15375  & returned_time = returned_time, &
15376  & flag_time_exist = flag_time_exist, &
15377  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal1timer()

subroutine historygetreal1timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8010 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal1(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8010  use dc_string, only: tochar, split
8011  use dc_types, only: string, dp, sp
8012  use dc_trace, only: dbgmessage
8013  use dc_url, only: url_chop_iorange, gt_equal
8014  use dc_present, only: present_and_true
8015  implicit none
8016  character(*), intent(in):: file, varname
8017  real(SP), intent(in):: time
8018  logical, intent(in), optional:: quiet
8019  real(SP), intent(out) :: array(:)
8020  logical, intent(in), optional:: flag_mpi_split
8021  real(DP), intent(out), optional:: returned_time
8022  logical, intent(out), optional:: flag_time_exist
8023  logical, intent(out), optional:: err
8024  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8025  character(STRING), pointer:: carray (:)
8026  character(STRING):: tname
8027  character(*), parameter :: subname = "HistoryGetReal1TimeR"
8028  interface
8029  subroutine historygetreal1(&
8030  & file, varname, array, range, quiet, &
8031  & flag_mpi_split, returned_time, flag_time_exist, err)
8032  use dc_types, only: dp, sp
8033  character(*), intent(in):: file
8034  character(*), intent(in):: varname
8035  character(*), intent(in), optional:: range
8036  logical, intent(in), optional:: quiet
8037  logical, intent(in), optional:: flag_mpi_split
8038  real(DP), intent(out), optional:: returned_time
8039  logical, intent(out), optional:: flag_time_exist
8040  logical, intent(out), optional:: err
8041  real(SP), intent(out) :: array(:)
8042  end subroutine historygetreal1
8043  end interface
8044  interface
8045  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8046  character(*), intent(in):: file
8047  character(*), intent(in):: varname
8048  character(*), intent(out):: url
8049  character(*), intent(in), optional:: range
8050  logical, intent(out), optional:: flag_time_exist
8051  character(*), intent(out), optional:: time_name
8052  logical, intent(out), optional:: err
8053  end subroutine lookup_growable_url
8054  end interface
8055  interface
8056  function file_rename_mpi( file ) result(result)
8057  use dc_types, only: string
8058  character(*), intent(in):: file
8059  character(STRING):: result
8060  end function file_rename_mpi
8061  end interface
8062  continue
8063  file_work = file
8064  if ( present_and_true( flag_mpi_split ) ) &
8065  & file_work = file_rename_mpi( file_work )
8066  call lookup_growable_url(file = file_work, varname = varname, &
8067  & url = url, &
8068  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8069  call url_chop_iorange( &
8070  & fullname = url, iorange = iorange, remainder = remainder )
8071  call split( str = iorange, carray = carray, sep = gt_equal )
8072  timevar_name = carray(1)
8073  deallocate( carray )
8074  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8075  call historygetreal1( file = file, &
8076  & varname = varname, array = array, &
8077  & range = time_range, quiet = quiet, &
8078  & flag_mpi_split = flag_mpi_split, &
8079  & returned_time = returned_time, &
8080  & flag_time_exist = flag_time_exist, &
8081  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal2()

subroutine historygetreal2 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 1985 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_types::sp, dc_error::storeerror(), and dc_types::string.

Referenced by historygetreal2timed(), historygetreal2timei(), and historygetreal2timer().

1985  use gtdata_types, only: gt_variable
1986  use gtdata_generic, only: open, inquire, close, get
1987  use dc_string, only: tochar, split, joinchar, stoa
1990  use dc_regex, only: match
1991  use dc_types, only: string, dp, sp
1992  use dc_message, only: messagenotify
1993  use dc_trace, only: dbgmessage
1996  implicit none
1997  character(*), intent(in):: file
1998  character(*), intent(in):: varname
1999  character(*), intent(in), optional:: range
2000  logical, intent(in), optional:: quiet
2001  logical, intent(in), optional:: flag_mpi_split
2002  real(DP), intent(out), optional:: returned_time ! データの時刻
2003  logical, intent(out), optional:: flag_time_exist
2004  logical, intent(out), optional:: err
2005  real(SP), intent(out) :: array(:,:)
2006  real(SP), allocatable :: array_tmp(:)
2007  integer:: array_allsize
2008  integer:: array_shape(2), data_shape(2), array_shape_check(2)
2009  integer:: allcount
2010  integer:: i, sd
2011  logical:: inq_err
2012  type(gt_variable):: var
2013  character(STRING):: file_work, url, actual_url
2014  integer:: rank, alldims, array_rank
2015  integer:: domain
2016  character(STRING):: tname
2017  integer:: stat
2018  character(STRING):: cause_c
2019  character(*), parameter :: subname = "HistoryGetReal2"
2020  interface
2021  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
2022  character(*), intent(in):: file
2023  character(*), intent(in):: varname
2024  character(*), intent(out):: url
2025  character(*), intent(in), optional:: range
2026  logical, intent(out), optional:: flag_time_exist
2027  character(*), intent(out), optional:: time_name
2028  logical, intent(out), optional:: err
2029  end subroutine lookup_growable_url
2030  end interface
2031  interface
2032  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
2033  use dc_types, only: dp
2034  character(*), intent(in) :: url ! 変数 URL
2035  character(*), intent(out), optional :: actual_url
2036  ! 正確な入出力範囲指定
2037  real(DP), intent(out), optional:: returned_time ! データの時刻
2038  character(*), intent(in), optional:: time_name ! 時刻次元の名称
2039  logical, intent(out), optional :: err ! エラーのフラグ
2040  end subroutine actual_iorange_dump
2041  end interface
2042  interface
2043  function file_rename_mpi( file ) result(result)
2044  use dc_types, only: string
2045  character(*), intent(in):: file
2046  character(STRING):: result
2047  end function file_rename_mpi
2048  end interface
2049  continue
2050  cause_c = ''
2051  stat = dc_noerr
2052  file_work = file
2053  array_shape = shape( array )
2054  array_allsize = size( array )
2055  ! ファイル名の変更 (MPI 用)
2056  ! Change filename (for MPI)
2057  !
2058  if ( present_and_true( flag_mpi_split ) ) &
2059  & file_work = file_rename_mpi( file_work )
2060  ! 最新時刻の URL 取得
2061  ! Get URL of latest time
2062  !
2063  call lookup_growable_url(file_work, varname, url, range, &
2064  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
2065  if ( present_and_true(err) ) then
2066  stat = gt_enoturl
2067  cause_c = url
2068  goto 999
2069  end if
2070  ! ファイルオープン
2071  ! File open
2072  call open( var, url, err = err )
2073  if ( present_and_true(err) ) then
2074  stat = gt_enoturl
2075  cause_c = url
2076  goto 999
2077  end if
2078  !-------------------------------------------------------------------
2079  ! 配列形状のチェック
2080  ! Check array shape
2081  !-------------------------------------------------------------------
2082  ! 入力ファイル中のデータの次元数
2083  ! Get size of dimesions in data of an input file
2084  !
2085  call inquire( var = var, & ! (in)
2086  & rank = rank, alldims = alldims ) ! (out)
2087  ! 引数の次元数のチェック (縮退されている場合には減らす)
2088  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
2089  array_rank = 2
2090  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
2091  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
2092  ! 次元数の比較
2093  ! Compare sizes of dimensions
2094  !
2095  if ( .not. 2 == rank .and. .not. array_rank == rank ) then
2096  if ( .not. present_and_true(quiet) ) then
2097  call messagenotify('W', subname, &
2098  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
2099  & i = (/rank, 2/), c1 = trim(url) )
2100  end if
2101  stat = gt_erankmismatch
2102  cause_c = 'array'
2103  goto 999
2104  end if
2105  ! 入力ファイル中のデータの配列形状取得
2106  ! Get shape of data in an input file
2107  call inquire( var = var , dimord = 1, & ! (in)
2108  & allcount = allcount, err = inq_err ) ! (out)
2109  if ( .not. inq_err ) then
2110  data_shape(1) = allcount
2111  else
2112  data_shape(1) = 1
2113  end if
2114  call inquire( var = var , dimord = 2, & ! (in)
2115  & allcount = allcount, err = inq_err ) ! (out)
2116  if ( .not. inq_err ) then
2117  data_shape(2) = allcount
2118  else
2119  data_shape(2) = 1
2120  end if
2121  ! 引数の配列形状整形
2122  ! Arrange shape of an argument
2123  !
2124  array_shape_check = array_shape
2125  sd = 1
2126  do i = 1, 2 - 1
2127  if ( array_shape_check(sd) == 1 ) then
2128  array_shape_check(sd:2) = cshift( array_shape_check(sd:2), 1, 1 )
2129  else
2130  sd = sd + 1
2131  end if
2132  end do
2133  ! 配列形状の比較
2134  ! Compare shapes
2135  !
2136  if ( .not. all( array_shape_check == data_shape ) ) then
2137  if ( .not. present_and_true(quiet) ) then
2138  call messagenotify('W', subname, &
2139  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
2140  & c1 = trim( url ), &
2141  & c2 = trim( tochar( data_shape(1:rank) ) ), &
2142  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
2143  end if
2144  stat = gt_eargsizemismatch
2145  cause_c = 'array'
2146  goto 999
2147  end if
2148  !-------------------------------------
2149  ! データ取得
2150  ! Get data
2151  call inquire( var = var, & ! (in)
2152  & size = domain ) ! (out)
2153  if ( allocated( array_tmp ) ) deallocate( array_tmp )
2154  allocate( array_tmp(array_allsize) )
2155  call get( var, array_tmp, domain )
2156  array = reshape( array_tmp, array_shape )
2157  deallocate( array_tmp )
2158  call close( var )
2159  !-------------------------------------
2160  ! データファイル名と切り出し範囲の印字
2161  ! Print data filename and clipping range
2162  call actual_iorange_dump(url, & ! (in)
2163  & actual_url, returned_time, & ! (out) optional
2164  & time_name = tname, & ! (in) optional
2165  & err = err) ! (out) optional
2166  if ( .not. present_and_true(quiet) ) then
2167  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
2168  end if
2169 999 continue
2170  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal2pointer()

subroutine historygetreal2pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5608 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, and dc_types::string.

Referenced by historygetreal2pointertimed(), historygetreal2pointertimei(), and historygetreal2pointertimer().

5608  use gtdata_types, only: gt_variable
5609  use gtdata_generic, only: open, inquire, close, get
5610  use dc_string, only: tochar
5612  use dc_types, only: string, dp, sp
5613  use dc_message, only: messagenotify
5614  use dc_trace, only: dbgmessage
5615  implicit none
5616  character(*), intent(in):: file
5617  character(*), intent(in):: varname
5618  character(*), intent(in), optional:: range
5619  logical, intent(in), optional:: quiet
5620  logical, intent(in), optional:: flag_mpi_split
5621  real(DP), intent(out), optional:: returned_time ! データの時刻
5622  logical, intent(out), optional:: flag_time_exist
5623  logical, intent(out), optional:: err
5624  integer:: domain
5625  real(SP), pointer :: array(:,:) ! (out)
5626  real(SP), target :: array_tmp(1)
5627  type(gt_variable):: var
5628  character(STRING):: file_work, url, actual_url
5629  character(STRING):: tname
5630  character(*), parameter :: subname = "HistoryGetReal2Pointer"
5631  interface
5632  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5633  character(*), intent(in):: file
5634  character(*), intent(in):: varname
5635  character(*), intent(out):: url
5636  character(*), intent(in), optional:: range
5637  logical, intent(out), optional:: flag_time_exist
5638  character(*), intent(out), optional:: time_name
5639  logical, intent(out), optional:: err
5640  end subroutine lookup_growable_url
5641  end interface
5642  interface
5643  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5644  use dc_types, only: dp
5645  character(*), intent(in) :: url ! 変数 URL
5646  character(*), intent(out), optional :: actual_url
5647  ! 正確な入出力範囲指定
5648  real(DP), intent(out), optional:: returned_time ! データの時刻
5649  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5650  logical, intent(out), optional :: err ! エラーのフラグ
5651  end subroutine actual_iorange_dump
5652  end interface
5653  interface
5654  function file_rename_mpi( file ) result(result)
5655  use dc_types, only: string
5656  character(*), intent(in):: file
5657  character(STRING):: result
5658  end function file_rename_mpi
5659  end interface
5660  continue
5661  file_work = file
5662  ! ファイル名の変更 (MPI 用)
5663  ! Change filename (for MPI)
5664  !
5665  if ( present_and_true( flag_mpi_split ) ) &
5666  & file_work = file_rename_mpi( file_work )
5667  ! 必要な情報を gtool 変数化
5668  !
5669  call lookup_growable_url(file_work, varname, url, range, &
5670  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5671  call dbgmessage('@ url =%c', c1=trim(url))
5672  ! いよいよデータ取得
5673  !
5674  call open(var, url, err)
5675  call get(var, array, err)
5676  call close(var, err)
5677  call actual_iorange_dump(url, & ! (in)
5678  & actual_url, returned_time, & ! (out) optional
5679  & time_name = tname, & ! (in) optional
5680  & err = err) ! (out) optional
5681  if ( .not. present_and_true(quiet) ) then
5682  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5683  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal2pointertimed()

subroutine historygetreal2pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12342 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12342  use dc_string, only: tochar, split
12343  use dc_types, only: string, dp, sp
12344  use dc_trace, only: dbgmessage
12345  use dc_url, only: url_chop_iorange, gt_equal
12346  use dc_present, only: present_and_true
12347  implicit none
12348  character(*), intent(in):: file, varname
12349  real(DP), intent(in):: time
12350  logical, intent(in), optional:: quiet
12351  real(SP), pointer :: array(:,:)
12352  logical, intent(in), optional:: flag_mpi_split
12353  real(DP), intent(out), optional:: returned_time
12354  logical, intent(out), optional:: flag_time_exist
12355  logical, intent(out), optional:: err
12356  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12357  character(STRING), pointer:: carray (:)
12358  character(STRING):: tname
12359  character(*), parameter :: subname = "HistoryGetReal2TimeD"
12360  interface
12361  subroutine historygetreal2pointer(&
12362  & file, varname, array, range, quiet, &
12363  & flag_mpi_split, returned_time, flag_time_exist, err)
12364  use dc_types, only: dp, sp
12365  character(*), intent(in):: file
12366  character(*), intent(in):: varname
12367  character(*), intent(in), optional:: range
12368  logical, intent(in), optional:: quiet
12369  logical, intent(in), optional:: flag_mpi_split
12370  real(DP), intent(out), optional:: returned_time
12371  logical, intent(out), optional:: flag_time_exist
12372  logical, intent(out), optional:: err
12373  real(SP), pointer :: array(:,:)
12374  end subroutine historygetreal2pointer
12375  end interface
12376  interface
12377  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12378  character(*), intent(in):: file
12379  character(*), intent(in):: varname
12380  character(*), intent(out):: url
12381  character(*), intent(in), optional:: range
12382  logical, intent(out), optional:: flag_time_exist
12383  character(*), intent(out), optional:: time_name
12384  logical, intent(out), optional:: err
12385  end subroutine lookup_growable_url
12386  end interface
12387  interface
12388  function file_rename_mpi( file ) result(result)
12389  use dc_types, only: string
12390  character(*), intent(in):: file
12391  character(STRING):: result
12392  end function file_rename_mpi
12393  end interface
12394  continue
12395  file_work = file
12396  if ( present_and_true( flag_mpi_split ) ) &
12397  & file_work = file_rename_mpi( file_work )
12398  call lookup_growable_url(file = file_work, varname = varname, &
12399  & url = url, &
12400  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12401  call url_chop_iorange( &
12402  & fullname = url, iorange = iorange, remainder = remainder )
12403  call split( str = iorange, carray = carray, sep = gt_equal )
12404  timevar_name = carray(1)
12405  deallocate( carray )
12406  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12407  call historygetreal2pointer( file = file, &
12408  & varname = varname, array = array, &
12409  & range = time_range, quiet = quiet, &
12410  & flag_mpi_split = flag_mpi_split, &
12411  & returned_time = returned_time, &
12412  & flag_time_exist = flag_time_exist, &
12413  & err = err )
subroutine historygetreal2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal2pointertimei()

subroutine historygetreal2pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15990 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15990  use dc_string, only: tochar, split
15991  use dc_types, only: string, dp, sp
15992  use dc_trace, only: dbgmessage
15993  use dc_url, only: url_chop_iorange, gt_equal
15994  use dc_present, only: present_and_true
15995  implicit none
15996  character(*), intent(in):: file, varname
15997  integer, intent(in):: time
15998  logical, intent(in), optional:: quiet
15999  real(SP), pointer :: array(:,:)
16000  logical, intent(in), optional:: flag_mpi_split
16001  real(DP), intent(out), optional:: returned_time
16002  logical, intent(out), optional:: flag_time_exist
16003  logical, intent(out), optional:: err
16004  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16005  character(STRING), pointer:: carray (:)
16006  character(STRING):: tname
16007  character(*), parameter :: subname = "HistoryGetReal2TimeI"
16008  interface
16009  subroutine historygetreal2pointer(&
16010  & file, varname, array, range, quiet, &
16011  & flag_mpi_split, returned_time, flag_time_exist, err)
16012  use dc_types, only: dp, sp
16013  character(*), intent(in):: file
16014  character(*), intent(in):: varname
16015  character(*), intent(in), optional:: range
16016  logical, intent(in), optional:: quiet
16017  logical, intent(in), optional:: flag_mpi_split
16018  real(DP), intent(out), optional:: returned_time
16019  logical, intent(out), optional:: flag_time_exist
16020  logical, intent(out), optional:: err
16021  real(SP), pointer :: array(:,:)
16022  end subroutine historygetreal2pointer
16023  end interface
16024  interface
16025  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16026  character(*), intent(in):: file
16027  character(*), intent(in):: varname
16028  character(*), intent(out):: url
16029  character(*), intent(in), optional:: range
16030  logical, intent(out), optional:: flag_time_exist
16031  character(*), intent(out), optional:: time_name
16032  logical, intent(out), optional:: err
16033  end subroutine lookup_growable_url
16034  end interface
16035  interface
16036  function file_rename_mpi( file ) result(result)
16037  use dc_types, only: string
16038  character(*), intent(in):: file
16039  character(STRING):: result
16040  end function file_rename_mpi
16041  end interface
16042  continue
16043  file_work = file
16044  if ( present_and_true( flag_mpi_split ) ) &
16045  & file_work = file_rename_mpi( file_work )
16046  call lookup_growable_url(file = file_work, varname = varname, &
16047  & url = url, &
16048  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16049  call url_chop_iorange( &
16050  & fullname = url, iorange = iorange, remainder = remainder )
16051  call split( str = iorange, carray = carray, sep = gt_equal )
16052  timevar_name = carray(1)
16053  deallocate( carray )
16054  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16055  call historygetreal2pointer( file = file, &
16056  & varname = varname, array = array, &
16057  & range = time_range, quiet = quiet, &
16058  & flag_mpi_split = flag_mpi_split, &
16059  & returned_time = returned_time, &
16060  & flag_time_exist = flag_time_exist, &
16061  & err = err )
subroutine historygetreal2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal2pointertimer()

subroutine historygetreal2pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8694 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal2pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8694  use dc_string, only: tochar, split
8695  use dc_types, only: string, dp, sp
8696  use dc_trace, only: dbgmessage
8697  use dc_url, only: url_chop_iorange, gt_equal
8698  use dc_present, only: present_and_true
8699  implicit none
8700  character(*), intent(in):: file, varname
8701  real(SP), intent(in):: time
8702  logical, intent(in), optional:: quiet
8703  real(SP), pointer :: array(:,:)
8704  logical, intent(in), optional:: flag_mpi_split
8705  real(DP), intent(out), optional:: returned_time
8706  logical, intent(out), optional:: flag_time_exist
8707  logical, intent(out), optional:: err
8708  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8709  character(STRING), pointer:: carray (:)
8710  character(STRING):: tname
8711  character(*), parameter :: subname = "HistoryGetReal2TimeR"
8712  interface
8713  subroutine historygetreal2pointer(&
8714  & file, varname, array, range, quiet, &
8715  & flag_mpi_split, returned_time, flag_time_exist, err)
8716  use dc_types, only: dp, sp
8717  character(*), intent(in):: file
8718  character(*), intent(in):: varname
8719  character(*), intent(in), optional:: range
8720  logical, intent(in), optional:: quiet
8721  logical, intent(in), optional:: flag_mpi_split
8722  real(DP), intent(out), optional:: returned_time
8723  logical, intent(out), optional:: flag_time_exist
8724  logical, intent(out), optional:: err
8725  real(SP), pointer :: array(:,:)
8726  end subroutine historygetreal2pointer
8727  end interface
8728  interface
8729  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8730  character(*), intent(in):: file
8731  character(*), intent(in):: varname
8732  character(*), intent(out):: url
8733  character(*), intent(in), optional:: range
8734  logical, intent(out), optional:: flag_time_exist
8735  character(*), intent(out), optional:: time_name
8736  logical, intent(out), optional:: err
8737  end subroutine lookup_growable_url
8738  end interface
8739  interface
8740  function file_rename_mpi( file ) result(result)
8741  use dc_types, only: string
8742  character(*), intent(in):: file
8743  character(STRING):: result
8744  end function file_rename_mpi
8745  end interface
8746  continue
8747  file_work = file
8748  if ( present_and_true( flag_mpi_split ) ) &
8749  & file_work = file_rename_mpi( file_work )
8750  call lookup_growable_url(file = file_work, varname = varname, &
8751  & url = url, &
8752  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8753  call url_chop_iorange( &
8754  & fullname = url, iorange = iorange, remainder = remainder )
8755  call split( str = iorange, carray = carray, sep = gt_equal )
8756  timevar_name = carray(1)
8757  deallocate( carray )
8758  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8759  call historygetreal2pointer( file = file, &
8760  & varname = varname, array = array, &
8761  & range = time_range, quiet = quiet, &
8762  & flag_mpi_split = flag_mpi_split, &
8763  & returned_time = returned_time, &
8764  & flag_time_exist = flag_time_exist, &
8765  & err = err )
subroutine historygetreal2pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal2timed()

subroutine historygetreal2timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11734 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

11734  use dc_string, only: tochar, split
11735  use dc_types, only: string, dp, sp
11736  use dc_trace, only: dbgmessage
11737  use dc_url, only: url_chop_iorange, gt_equal
11738  use dc_present, only: present_and_true
11739  implicit none
11740  character(*), intent(in):: file, varname
11741  real(DP), intent(in):: time
11742  logical, intent(in), optional:: quiet
11743  real(SP), intent(out) :: array(:,:)
11744  logical, intent(in), optional:: flag_mpi_split
11745  real(DP), intent(out), optional:: returned_time
11746  logical, intent(out), optional:: flag_time_exist
11747  logical, intent(out), optional:: err
11748  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11749  character(STRING), pointer:: carray (:)
11750  character(STRING):: tname
11751  character(*), parameter :: subname = "HistoryGetReal2TimeD"
11752  interface
11753  subroutine historygetreal2(&
11754  & file, varname, array, range, quiet, &
11755  & flag_mpi_split, returned_time, flag_time_exist, err)
11756  use dc_types, only: dp, sp
11757  character(*), intent(in):: file
11758  character(*), intent(in):: varname
11759  character(*), intent(in), optional:: range
11760  logical, intent(in), optional:: quiet
11761  logical, intent(in), optional:: flag_mpi_split
11762  real(DP), intent(out), optional:: returned_time
11763  logical, intent(out), optional:: flag_time_exist
11764  logical, intent(out), optional:: err
11765  real(SP), intent(out) :: array(:,:)
11766  end subroutine historygetreal2
11767  end interface
11768  interface
11769  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11770  character(*), intent(in):: file
11771  character(*), intent(in):: varname
11772  character(*), intent(out):: url
11773  character(*), intent(in), optional:: range
11774  logical, intent(out), optional:: flag_time_exist
11775  character(*), intent(out), optional:: time_name
11776  logical, intent(out), optional:: err
11777  end subroutine lookup_growable_url
11778  end interface
11779  interface
11780  function file_rename_mpi( file ) result(result)
11781  use dc_types, only: string
11782  character(*), intent(in):: file
11783  character(STRING):: result
11784  end function file_rename_mpi
11785  end interface
11786  continue
11787  file_work = file
11788  if ( present_and_true( flag_mpi_split ) ) &
11789  & file_work = file_rename_mpi( file_work )
11790  call lookup_growable_url(file = file_work, varname = varname, &
11791  & url = url, &
11792  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11793  call url_chop_iorange( &
11794  & fullname = url, iorange = iorange, remainder = remainder )
11795  call split( str = iorange, carray = carray, sep = gt_equal )
11796  timevar_name = carray(1)
11797  deallocate( carray )
11798  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11799  call historygetreal2( file = file, &
11800  & varname = varname, array = array, &
11801  & range = time_range, quiet = quiet, &
11802  & flag_mpi_split = flag_mpi_split, &
11803  & returned_time = returned_time, &
11804  & flag_time_exist = flag_time_exist, &
11805  & err = err )
subroutine historygetreal2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal2timei()

subroutine historygetreal2timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15382 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15382  use dc_string, only: tochar, split
15383  use dc_types, only: string, dp, sp
15384  use dc_trace, only: dbgmessage
15385  use dc_url, only: url_chop_iorange, gt_equal
15386  use dc_present, only: present_and_true
15387  implicit none
15388  character(*), intent(in):: file, varname
15389  integer, intent(in):: time
15390  logical, intent(in), optional:: quiet
15391  real(SP), intent(out) :: array(:,:)
15392  logical, intent(in), optional:: flag_mpi_split
15393  real(DP), intent(out), optional:: returned_time
15394  logical, intent(out), optional:: flag_time_exist
15395  logical, intent(out), optional:: err
15396  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15397  character(STRING), pointer:: carray (:)
15398  character(STRING):: tname
15399  character(*), parameter :: subname = "HistoryGetReal2TimeI"
15400  interface
15401  subroutine historygetreal2(&
15402  & file, varname, array, range, quiet, &
15403  & flag_mpi_split, returned_time, flag_time_exist, err)
15404  use dc_types, only: dp, sp
15405  character(*), intent(in):: file
15406  character(*), intent(in):: varname
15407  character(*), intent(in), optional:: range
15408  logical, intent(in), optional:: quiet
15409  logical, intent(in), optional:: flag_mpi_split
15410  real(DP), intent(out), optional:: returned_time
15411  logical, intent(out), optional:: flag_time_exist
15412  logical, intent(out), optional:: err
15413  real(SP), intent(out) :: array(:,:)
15414  end subroutine historygetreal2
15415  end interface
15416  interface
15417  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15418  character(*), intent(in):: file
15419  character(*), intent(in):: varname
15420  character(*), intent(out):: url
15421  character(*), intent(in), optional:: range
15422  logical, intent(out), optional:: flag_time_exist
15423  character(*), intent(out), optional:: time_name
15424  logical, intent(out), optional:: err
15425  end subroutine lookup_growable_url
15426  end interface
15427  interface
15428  function file_rename_mpi( file ) result(result)
15429  use dc_types, only: string
15430  character(*), intent(in):: file
15431  character(STRING):: result
15432  end function file_rename_mpi
15433  end interface
15434  continue
15435  file_work = file
15436  if ( present_and_true( flag_mpi_split ) ) &
15437  & file_work = file_rename_mpi( file_work )
15438  call lookup_growable_url(file = file_work, varname = varname, &
15439  & url = url, &
15440  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15441  call url_chop_iorange( &
15442  & fullname = url, iorange = iorange, remainder = remainder )
15443  call split( str = iorange, carray = carray, sep = gt_equal )
15444  timevar_name = carray(1)
15445  deallocate( carray )
15446  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15447  call historygetreal2( file = file, &
15448  & varname = varname, array = array, &
15449  & range = time_range, quiet = quiet, &
15450  & flag_mpi_split = flag_mpi_split, &
15451  & returned_time = returned_time, &
15452  & flag_time_exist = flag_time_exist, &
15453  & err = err )
subroutine historygetreal2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal2timer()

subroutine historygetreal2timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8086 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal2(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8086  use dc_string, only: tochar, split
8087  use dc_types, only: string, dp, sp
8088  use dc_trace, only: dbgmessage
8089  use dc_url, only: url_chop_iorange, gt_equal
8090  use dc_present, only: present_and_true
8091  implicit none
8092  character(*), intent(in):: file, varname
8093  real(SP), intent(in):: time
8094  logical, intent(in), optional:: quiet
8095  real(SP), intent(out) :: array(:,:)
8096  logical, intent(in), optional:: flag_mpi_split
8097  real(DP), intent(out), optional:: returned_time
8098  logical, intent(out), optional:: flag_time_exist
8099  logical, intent(out), optional:: err
8100  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8101  character(STRING), pointer:: carray (:)
8102  character(STRING):: tname
8103  character(*), parameter :: subname = "HistoryGetReal2TimeR"
8104  interface
8105  subroutine historygetreal2(&
8106  & file, varname, array, range, quiet, &
8107  & flag_mpi_split, returned_time, flag_time_exist, err)
8108  use dc_types, only: dp, sp
8109  character(*), intent(in):: file
8110  character(*), intent(in):: varname
8111  character(*), intent(in), optional:: range
8112  logical, intent(in), optional:: quiet
8113  logical, intent(in), optional:: flag_mpi_split
8114  real(DP), intent(out), optional:: returned_time
8115  logical, intent(out), optional:: flag_time_exist
8116  logical, intent(out), optional:: err
8117  real(SP), intent(out) :: array(:,:)
8118  end subroutine historygetreal2
8119  end interface
8120  interface
8121  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8122  character(*), intent(in):: file
8123  character(*), intent(in):: varname
8124  character(*), intent(out):: url
8125  character(*), intent(in), optional:: range
8126  logical, intent(out), optional:: flag_time_exist
8127  character(*), intent(out), optional:: time_name
8128  logical, intent(out), optional:: err
8129  end subroutine lookup_growable_url
8130  end interface
8131  interface
8132  function file_rename_mpi( file ) result(result)
8133  use dc_types, only: string
8134  character(*), intent(in):: file
8135  character(STRING):: result
8136  end function file_rename_mpi
8137  end interface
8138  continue
8139  file_work = file
8140  if ( present_and_true( flag_mpi_split ) ) &
8141  & file_work = file_rename_mpi( file_work )
8142  call lookup_growable_url(file = file_work, varname = varname, &
8143  & url = url, &
8144  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8145  call url_chop_iorange( &
8146  & fullname = url, iorange = iorange, remainder = remainder )
8147  call split( str = iorange, carray = carray, sep = gt_equal )
8148  timevar_name = carray(1)
8149  deallocate( carray )
8150  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8151  call historygetreal2( file = file, &
8152  & varname = varname, array = array, &
8153  & range = time_range, quiet = quiet, &
8154  & flag_mpi_split = flag_mpi_split, &
8155  & returned_time = returned_time, &
8156  & flag_time_exist = flag_time_exist, &
8157  & err = err )
subroutine historygetreal2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal3()

subroutine historygetreal3 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 2174 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_types::sp, dc_error::storeerror(), and dc_types::string.

Referenced by historygetreal3timed(), historygetreal3timei(), and historygetreal3timer().

2174  use gtdata_types, only: gt_variable
2175  use gtdata_generic, only: open, inquire, close, get
2176  use dc_string, only: tochar, split, joinchar, stoa
2179  use dc_regex, only: match
2180  use dc_types, only: string, dp, sp
2181  use dc_message, only: messagenotify
2182  use dc_trace, only: dbgmessage
2185  implicit none
2186  character(*), intent(in):: file
2187  character(*), intent(in):: varname
2188  character(*), intent(in), optional:: range
2189  logical, intent(in), optional:: quiet
2190  logical, intent(in), optional:: flag_mpi_split
2191  real(DP), intent(out), optional:: returned_time ! データの時刻
2192  logical, intent(out), optional:: flag_time_exist
2193  logical, intent(out), optional:: err
2194  real(SP), intent(out) :: array(:,:,:)
2195  real(SP), allocatable :: array_tmp(:)
2196  integer:: array_allsize
2197  integer:: array_shape(3), data_shape(3), array_shape_check(3)
2198  integer:: allcount
2199  integer:: i, sd
2200  logical:: inq_err
2201  type(gt_variable):: var
2202  character(STRING):: file_work, url, actual_url
2203  integer:: rank, alldims, array_rank
2204  integer:: domain
2205  character(STRING):: tname
2206  integer:: stat
2207  character(STRING):: cause_c
2208  character(*), parameter :: subname = "HistoryGetReal3"
2209  interface
2210  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
2211  character(*), intent(in):: file
2212  character(*), intent(in):: varname
2213  character(*), intent(out):: url
2214  character(*), intent(in), optional:: range
2215  logical, intent(out), optional:: flag_time_exist
2216  character(*), intent(out), optional:: time_name
2217  logical, intent(out), optional:: err
2218  end subroutine lookup_growable_url
2219  end interface
2220  interface
2221  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
2222  use dc_types, only: dp
2223  character(*), intent(in) :: url ! 変数 URL
2224  character(*), intent(out), optional :: actual_url
2225  ! 正確な入出力範囲指定
2226  real(DP), intent(out), optional:: returned_time ! データの時刻
2227  character(*), intent(in), optional:: time_name ! 時刻次元の名称
2228  logical, intent(out), optional :: err ! エラーのフラグ
2229  end subroutine actual_iorange_dump
2230  end interface
2231  interface
2232  function file_rename_mpi( file ) result(result)
2233  use dc_types, only: string
2234  character(*), intent(in):: file
2235  character(STRING):: result
2236  end function file_rename_mpi
2237  end interface
2238  continue
2239  cause_c = ''
2240  stat = dc_noerr
2241  file_work = file
2242  array_shape = shape( array )
2243  array_allsize = size( array )
2244  ! ファイル名の変更 (MPI 用)
2245  ! Change filename (for MPI)
2246  !
2247  if ( present_and_true( flag_mpi_split ) ) &
2248  & file_work = file_rename_mpi( file_work )
2249  ! 最新時刻の URL 取得
2250  ! Get URL of latest time
2251  !
2252  call lookup_growable_url(file_work, varname, url, range, &
2253  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
2254  if ( present_and_true(err) ) then
2255  stat = gt_enoturl
2256  cause_c = url
2257  goto 999
2258  end if
2259  ! ファイルオープン
2260  ! File open
2261  call open( var, url, err = err )
2262  if ( present_and_true(err) ) then
2263  stat = gt_enoturl
2264  cause_c = url
2265  goto 999
2266  end if
2267  !-------------------------------------------------------------------
2268  ! 配列形状のチェック
2269  ! Check array shape
2270  !-------------------------------------------------------------------
2271  ! 入力ファイル中のデータの次元数
2272  ! Get size of dimesions in data of an input file
2273  !
2274  call inquire( var = var, & ! (in)
2275  & rank = rank, alldims = alldims ) ! (out)
2276  ! 引数の次元数のチェック (縮退されている場合には減らす)
2277  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
2278  array_rank = 3
2279  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
2280  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
2281  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
2282  ! 次元数の比較
2283  ! Compare sizes of dimensions
2284  !
2285  if ( .not. 3 == rank .and. .not. array_rank == rank ) then
2286  if ( .not. present_and_true(quiet) ) then
2287  call messagenotify('W', subname, &
2288  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
2289  & i = (/rank, 3/), c1 = trim(url) )
2290  end if
2291  stat = gt_erankmismatch
2292  cause_c = 'array'
2293  goto 999
2294  end if
2295  ! 入力ファイル中のデータの配列形状取得
2296  ! Get shape of data in an input file
2297  call inquire( var = var , dimord = 1, & ! (in)
2298  & allcount = allcount, err = inq_err ) ! (out)
2299  if ( .not. inq_err ) then
2300  data_shape(1) = allcount
2301  else
2302  data_shape(1) = 1
2303  end if
2304  call inquire( var = var , dimord = 2, & ! (in)
2305  & allcount = allcount, err = inq_err ) ! (out)
2306  if ( .not. inq_err ) then
2307  data_shape(2) = allcount
2308  else
2309  data_shape(2) = 1
2310  end if
2311  call inquire( var = var , dimord = 3, & ! (in)
2312  & allcount = allcount, err = inq_err ) ! (out)
2313  if ( .not. inq_err ) then
2314  data_shape(3) = allcount
2315  else
2316  data_shape(3) = 1
2317  end if
2318  ! 引数の配列形状整形
2319  ! Arrange shape of an argument
2320  !
2321  array_shape_check = array_shape
2322  sd = 1
2323  do i = 1, 3 - 1
2324  if ( array_shape_check(sd) == 1 ) then
2325  array_shape_check(sd:3) = cshift( array_shape_check(sd:3), 1, 1 )
2326  else
2327  sd = sd + 1
2328  end if
2329  end do
2330  ! 配列形状の比較
2331  ! Compare shapes
2332  !
2333  if ( .not. all( array_shape_check == data_shape ) ) then
2334  if ( .not. present_and_true(quiet) ) then
2335  call messagenotify('W', subname, &
2336  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
2337  & c1 = trim( url ), &
2338  & c2 = trim( tochar( data_shape(1:rank) ) ), &
2339  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
2340  end if
2341  stat = gt_eargsizemismatch
2342  cause_c = 'array'
2343  goto 999
2344  end if
2345  !-------------------------------------
2346  ! データ取得
2347  ! Get data
2348  call inquire( var = var, & ! (in)
2349  & size = domain ) ! (out)
2350  if ( allocated( array_tmp ) ) deallocate( array_tmp )
2351  allocate( array_tmp(array_allsize) )
2352  call get( var, array_tmp, domain )
2353  array = reshape( array_tmp, array_shape )
2354  deallocate( array_tmp )
2355  call close( var )
2356  !-------------------------------------
2357  ! データファイル名と切り出し範囲の印字
2358  ! Print data filename and clipping range
2359  call actual_iorange_dump(url, & ! (in)
2360  & actual_url, returned_time, & ! (out) optional
2361  & time_name = tname, & ! (in) optional
2362  & err = err) ! (out) optional
2363  if ( .not. present_and_true(quiet) ) then
2364  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
2365  end if
2366 999 continue
2367  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal3pointer()

subroutine historygetreal3pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5687 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, and dc_types::string.

Referenced by historygetreal3pointertimed(), historygetreal3pointertimei(), and historygetreal3pointertimer().

5687  use gtdata_types, only: gt_variable
5688  use gtdata_generic, only: open, inquire, close, get
5689  use dc_string, only: tochar
5691  use dc_types, only: string, dp, sp
5692  use dc_message, only: messagenotify
5693  use dc_trace, only: dbgmessage
5694  implicit none
5695  character(*), intent(in):: file
5696  character(*), intent(in):: varname
5697  character(*), intent(in), optional:: range
5698  logical, intent(in), optional:: quiet
5699  logical, intent(in), optional:: flag_mpi_split
5700  real(DP), intent(out), optional:: returned_time ! データの時刻
5701  logical, intent(out), optional:: flag_time_exist
5702  logical, intent(out), optional:: err
5703  integer:: domain
5704  real(SP), pointer :: array(:,:,:) ! (out)
5705  real(SP), target :: array_tmp(1)
5706  type(gt_variable):: var
5707  character(STRING):: file_work, url, actual_url
5708  character(STRING):: tname
5709  character(*), parameter :: subname = "HistoryGetReal3Pointer"
5710  interface
5711  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5712  character(*), intent(in):: file
5713  character(*), intent(in):: varname
5714  character(*), intent(out):: url
5715  character(*), intent(in), optional:: range
5716  logical, intent(out), optional:: flag_time_exist
5717  character(*), intent(out), optional:: time_name
5718  logical, intent(out), optional:: err
5719  end subroutine lookup_growable_url
5720  end interface
5721  interface
5722  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5723  use dc_types, only: dp
5724  character(*), intent(in) :: url ! 変数 URL
5725  character(*), intent(out), optional :: actual_url
5726  ! 正確な入出力範囲指定
5727  real(DP), intent(out), optional:: returned_time ! データの時刻
5728  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5729  logical, intent(out), optional :: err ! エラーのフラグ
5730  end subroutine actual_iorange_dump
5731  end interface
5732  interface
5733  function file_rename_mpi( file ) result(result)
5734  use dc_types, only: string
5735  character(*), intent(in):: file
5736  character(STRING):: result
5737  end function file_rename_mpi
5738  end interface
5739  continue
5740  file_work = file
5741  ! ファイル名の変更 (MPI 用)
5742  ! Change filename (for MPI)
5743  !
5744  if ( present_and_true( flag_mpi_split ) ) &
5745  & file_work = file_rename_mpi( file_work )
5746  ! 必要な情報を gtool 変数化
5747  !
5748  call lookup_growable_url(file_work, varname, url, range, &
5749  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5750  call dbgmessage('@ url =%c', c1=trim(url))
5751  ! いよいよデータ取得
5752  !
5753  call open(var, url, err)
5754  call get(var, array, err)
5755  call close(var, err)
5756  call actual_iorange_dump(url, & ! (in)
5757  & actual_url, returned_time, & ! (out) optional
5758  & time_name = tname, & ! (in) optional
5759  & err = err) ! (out) optional
5760  if ( .not. present_and_true(quiet) ) then
5761  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5762  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal3pointertimed()

subroutine historygetreal3pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12418 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12418  use dc_string, only: tochar, split
12419  use dc_types, only: string, dp, sp
12420  use dc_trace, only: dbgmessage
12421  use dc_url, only: url_chop_iorange, gt_equal
12422  use dc_present, only: present_and_true
12423  implicit none
12424  character(*), intent(in):: file, varname
12425  real(DP), intent(in):: time
12426  logical, intent(in), optional:: quiet
12427  real(SP), pointer :: array(:,:,:)
12428  logical, intent(in), optional:: flag_mpi_split
12429  real(DP), intent(out), optional:: returned_time
12430  logical, intent(out), optional:: flag_time_exist
12431  logical, intent(out), optional:: err
12432  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12433  character(STRING), pointer:: carray (:)
12434  character(STRING):: tname
12435  character(*), parameter :: subname = "HistoryGetReal3TimeD"
12436  interface
12437  subroutine historygetreal3pointer(&
12438  & file, varname, array, range, quiet, &
12439  & flag_mpi_split, returned_time, flag_time_exist, err)
12440  use dc_types, only: dp, sp
12441  character(*), intent(in):: file
12442  character(*), intent(in):: varname
12443  character(*), intent(in), optional:: range
12444  logical, intent(in), optional:: quiet
12445  logical, intent(in), optional:: flag_mpi_split
12446  real(DP), intent(out), optional:: returned_time
12447  logical, intent(out), optional:: flag_time_exist
12448  logical, intent(out), optional:: err
12449  real(SP), pointer :: array(:,:,:)
12450  end subroutine historygetreal3pointer
12451  end interface
12452  interface
12453  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12454  character(*), intent(in):: file
12455  character(*), intent(in):: varname
12456  character(*), intent(out):: url
12457  character(*), intent(in), optional:: range
12458  logical, intent(out), optional:: flag_time_exist
12459  character(*), intent(out), optional:: time_name
12460  logical, intent(out), optional:: err
12461  end subroutine lookup_growable_url
12462  end interface
12463  interface
12464  function file_rename_mpi( file ) result(result)
12465  use dc_types, only: string
12466  character(*), intent(in):: file
12467  character(STRING):: result
12468  end function file_rename_mpi
12469  end interface
12470  continue
12471  file_work = file
12472  if ( present_and_true( flag_mpi_split ) ) &
12473  & file_work = file_rename_mpi( file_work )
12474  call lookup_growable_url(file = file_work, varname = varname, &
12475  & url = url, &
12476  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12477  call url_chop_iorange( &
12478  & fullname = url, iorange = iorange, remainder = remainder )
12479  call split( str = iorange, carray = carray, sep = gt_equal )
12480  timevar_name = carray(1)
12481  deallocate( carray )
12482  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12483  call historygetreal3pointer( file = file, &
12484  & varname = varname, array = array, &
12485  & range = time_range, quiet = quiet, &
12486  & flag_mpi_split = flag_mpi_split, &
12487  & returned_time = returned_time, &
12488  & flag_time_exist = flag_time_exist, &
12489  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal3pointertimei()

subroutine historygetreal3pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16066 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

16066  use dc_string, only: tochar, split
16067  use dc_types, only: string, dp, sp
16068  use dc_trace, only: dbgmessage
16069  use dc_url, only: url_chop_iorange, gt_equal
16070  use dc_present, only: present_and_true
16071  implicit none
16072  character(*), intent(in):: file, varname
16073  integer, intent(in):: time
16074  logical, intent(in), optional:: quiet
16075  real(SP), pointer :: array(:,:,:)
16076  logical, intent(in), optional:: flag_mpi_split
16077  real(DP), intent(out), optional:: returned_time
16078  logical, intent(out), optional:: flag_time_exist
16079  logical, intent(out), optional:: err
16080  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16081  character(STRING), pointer:: carray (:)
16082  character(STRING):: tname
16083  character(*), parameter :: subname = "HistoryGetReal3TimeI"
16084  interface
16085  subroutine historygetreal3pointer(&
16086  & file, varname, array, range, quiet, &
16087  & flag_mpi_split, returned_time, flag_time_exist, err)
16088  use dc_types, only: dp, sp
16089  character(*), intent(in):: file
16090  character(*), intent(in):: varname
16091  character(*), intent(in), optional:: range
16092  logical, intent(in), optional:: quiet
16093  logical, intent(in), optional:: flag_mpi_split
16094  real(DP), intent(out), optional:: returned_time
16095  logical, intent(out), optional:: flag_time_exist
16096  logical, intent(out), optional:: err
16097  real(SP), pointer :: array(:,:,:)
16098  end subroutine historygetreal3pointer
16099  end interface
16100  interface
16101  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16102  character(*), intent(in):: file
16103  character(*), intent(in):: varname
16104  character(*), intent(out):: url
16105  character(*), intent(in), optional:: range
16106  logical, intent(out), optional:: flag_time_exist
16107  character(*), intent(out), optional:: time_name
16108  logical, intent(out), optional:: err
16109  end subroutine lookup_growable_url
16110  end interface
16111  interface
16112  function file_rename_mpi( file ) result(result)
16113  use dc_types, only: string
16114  character(*), intent(in):: file
16115  character(STRING):: result
16116  end function file_rename_mpi
16117  end interface
16118  continue
16119  file_work = file
16120  if ( present_and_true( flag_mpi_split ) ) &
16121  & file_work = file_rename_mpi( file_work )
16122  call lookup_growable_url(file = file_work, varname = varname, &
16123  & url = url, &
16124  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16125  call url_chop_iorange( &
16126  & fullname = url, iorange = iorange, remainder = remainder )
16127  call split( str = iorange, carray = carray, sep = gt_equal )
16128  timevar_name = carray(1)
16129  deallocate( carray )
16130  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16131  call historygetreal3pointer( file = file, &
16132  & varname = varname, array = array, &
16133  & range = time_range, quiet = quiet, &
16134  & flag_mpi_split = flag_mpi_split, &
16135  & returned_time = returned_time, &
16136  & flag_time_exist = flag_time_exist, &
16137  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal3pointertimer()

subroutine historygetreal3pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8770 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal3pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8770  use dc_string, only: tochar, split
8771  use dc_types, only: string, dp, sp
8772  use dc_trace, only: dbgmessage
8773  use dc_url, only: url_chop_iorange, gt_equal
8774  use dc_present, only: present_and_true
8775  implicit none
8776  character(*), intent(in):: file, varname
8777  real(SP), intent(in):: time
8778  logical, intent(in), optional:: quiet
8779  real(SP), pointer :: array(:,:,:)
8780  logical, intent(in), optional:: flag_mpi_split
8781  real(DP), intent(out), optional:: returned_time
8782  logical, intent(out), optional:: flag_time_exist
8783  logical, intent(out), optional:: err
8784  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8785  character(STRING), pointer:: carray (:)
8786  character(STRING):: tname
8787  character(*), parameter :: subname = "HistoryGetReal3TimeR"
8788  interface
8789  subroutine historygetreal3pointer(&
8790  & file, varname, array, range, quiet, &
8791  & flag_mpi_split, returned_time, flag_time_exist, err)
8792  use dc_types, only: dp, sp
8793  character(*), intent(in):: file
8794  character(*), intent(in):: varname
8795  character(*), intent(in), optional:: range
8796  logical, intent(in), optional:: quiet
8797  logical, intent(in), optional:: flag_mpi_split
8798  real(DP), intent(out), optional:: returned_time
8799  logical, intent(out), optional:: flag_time_exist
8800  logical, intent(out), optional:: err
8801  real(SP), pointer :: array(:,:,:)
8802  end subroutine historygetreal3pointer
8803  end interface
8804  interface
8805  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8806  character(*), intent(in):: file
8807  character(*), intent(in):: varname
8808  character(*), intent(out):: url
8809  character(*), intent(in), optional:: range
8810  logical, intent(out), optional:: flag_time_exist
8811  character(*), intent(out), optional:: time_name
8812  logical, intent(out), optional:: err
8813  end subroutine lookup_growable_url
8814  end interface
8815  interface
8816  function file_rename_mpi( file ) result(result)
8817  use dc_types, only: string
8818  character(*), intent(in):: file
8819  character(STRING):: result
8820  end function file_rename_mpi
8821  end interface
8822  continue
8823  file_work = file
8824  if ( present_and_true( flag_mpi_split ) ) &
8825  & file_work = file_rename_mpi( file_work )
8826  call lookup_growable_url(file = file_work, varname = varname, &
8827  & url = url, &
8828  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8829  call url_chop_iorange( &
8830  & fullname = url, iorange = iorange, remainder = remainder )
8831  call split( str = iorange, carray = carray, sep = gt_equal )
8832  timevar_name = carray(1)
8833  deallocate( carray )
8834  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8835  call historygetreal3pointer( file = file, &
8836  & varname = varname, array = array, &
8837  & range = time_range, quiet = quiet, &
8838  & flag_mpi_split = flag_mpi_split, &
8839  & returned_time = returned_time, &
8840  & flag_time_exist = flag_time_exist, &
8841  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal3pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal3timed()

subroutine historygetreal3timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11810 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

11810  use dc_string, only: tochar, split
11811  use dc_types, only: string, dp, sp
11812  use dc_trace, only: dbgmessage
11813  use dc_url, only: url_chop_iorange, gt_equal
11814  use dc_present, only: present_and_true
11815  implicit none
11816  character(*), intent(in):: file, varname
11817  real(DP), intent(in):: time
11818  logical, intent(in), optional:: quiet
11819  real(SP), intent(out) :: array(:,:,:)
11820  logical, intent(in), optional:: flag_mpi_split
11821  real(DP), intent(out), optional:: returned_time
11822  logical, intent(out), optional:: flag_time_exist
11823  logical, intent(out), optional:: err
11824  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11825  character(STRING), pointer:: carray (:)
11826  character(STRING):: tname
11827  character(*), parameter :: subname = "HistoryGetReal3TimeD"
11828  interface
11829  subroutine historygetreal3(&
11830  & file, varname, array, range, quiet, &
11831  & flag_mpi_split, returned_time, flag_time_exist, err)
11832  use dc_types, only: dp, sp
11833  character(*), intent(in):: file
11834  character(*), intent(in):: varname
11835  character(*), intent(in), optional:: range
11836  logical, intent(in), optional:: quiet
11837  logical, intent(in), optional:: flag_mpi_split
11838  real(DP), intent(out), optional:: returned_time
11839  logical, intent(out), optional:: flag_time_exist
11840  logical, intent(out), optional:: err
11841  real(SP), intent(out) :: array(:,:,:)
11842  end subroutine historygetreal3
11843  end interface
11844  interface
11845  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11846  character(*), intent(in):: file
11847  character(*), intent(in):: varname
11848  character(*), intent(out):: url
11849  character(*), intent(in), optional:: range
11850  logical, intent(out), optional:: flag_time_exist
11851  character(*), intent(out), optional:: time_name
11852  logical, intent(out), optional:: err
11853  end subroutine lookup_growable_url
11854  end interface
11855  interface
11856  function file_rename_mpi( file ) result(result)
11857  use dc_types, only: string
11858  character(*), intent(in):: file
11859  character(STRING):: result
11860  end function file_rename_mpi
11861  end interface
11862  continue
11863  file_work = file
11864  if ( present_and_true( flag_mpi_split ) ) &
11865  & file_work = file_rename_mpi( file_work )
11866  call lookup_growable_url(file = file_work, varname = varname, &
11867  & url = url, &
11868  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11869  call url_chop_iorange( &
11870  & fullname = url, iorange = iorange, remainder = remainder )
11871  call split( str = iorange, carray = carray, sep = gt_equal )
11872  timevar_name = carray(1)
11873  deallocate( carray )
11874  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11875  call historygetreal3( file = file, &
11876  & varname = varname, array = array, &
11877  & range = time_range, quiet = quiet, &
11878  & flag_mpi_split = flag_mpi_split, &
11879  & returned_time = returned_time, &
11880  & flag_time_exist = flag_time_exist, &
11881  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal3timei()

subroutine historygetreal3timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15458 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15458  use dc_string, only: tochar, split
15459  use dc_types, only: string, dp, sp
15460  use dc_trace, only: dbgmessage
15461  use dc_url, only: url_chop_iorange, gt_equal
15462  use dc_present, only: present_and_true
15463  implicit none
15464  character(*), intent(in):: file, varname
15465  integer, intent(in):: time
15466  logical, intent(in), optional:: quiet
15467  real(SP), intent(out) :: array(:,:,:)
15468  logical, intent(in), optional:: flag_mpi_split
15469  real(DP), intent(out), optional:: returned_time
15470  logical, intent(out), optional:: flag_time_exist
15471  logical, intent(out), optional:: err
15472  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15473  character(STRING), pointer:: carray (:)
15474  character(STRING):: tname
15475  character(*), parameter :: subname = "HistoryGetReal3TimeI"
15476  interface
15477  subroutine historygetreal3(&
15478  & file, varname, array, range, quiet, &
15479  & flag_mpi_split, returned_time, flag_time_exist, err)
15480  use dc_types, only: dp, sp
15481  character(*), intent(in):: file
15482  character(*), intent(in):: varname
15483  character(*), intent(in), optional:: range
15484  logical, intent(in), optional:: quiet
15485  logical, intent(in), optional:: flag_mpi_split
15486  real(DP), intent(out), optional:: returned_time
15487  logical, intent(out), optional:: flag_time_exist
15488  logical, intent(out), optional:: err
15489  real(SP), intent(out) :: array(:,:,:)
15490  end subroutine historygetreal3
15491  end interface
15492  interface
15493  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15494  character(*), intent(in):: file
15495  character(*), intent(in):: varname
15496  character(*), intent(out):: url
15497  character(*), intent(in), optional:: range
15498  logical, intent(out), optional:: flag_time_exist
15499  character(*), intent(out), optional:: time_name
15500  logical, intent(out), optional:: err
15501  end subroutine lookup_growable_url
15502  end interface
15503  interface
15504  function file_rename_mpi( file ) result(result)
15505  use dc_types, only: string
15506  character(*), intent(in):: file
15507  character(STRING):: result
15508  end function file_rename_mpi
15509  end interface
15510  continue
15511  file_work = file
15512  if ( present_and_true( flag_mpi_split ) ) &
15513  & file_work = file_rename_mpi( file_work )
15514  call lookup_growable_url(file = file_work, varname = varname, &
15515  & url = url, &
15516  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15517  call url_chop_iorange( &
15518  & fullname = url, iorange = iorange, remainder = remainder )
15519  call split( str = iorange, carray = carray, sep = gt_equal )
15520  timevar_name = carray(1)
15521  deallocate( carray )
15522  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15523  call historygetreal3( file = file, &
15524  & varname = varname, array = array, &
15525  & range = time_range, quiet = quiet, &
15526  & flag_mpi_split = flag_mpi_split, &
15527  & returned_time = returned_time, &
15528  & flag_time_exist = flag_time_exist, &
15529  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal3timer()

subroutine historygetreal3timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8162 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal3(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8162  use dc_string, only: tochar, split
8163  use dc_types, only: string, dp, sp
8164  use dc_trace, only: dbgmessage
8165  use dc_url, only: url_chop_iorange, gt_equal
8166  use dc_present, only: present_and_true
8167  implicit none
8168  character(*), intent(in):: file, varname
8169  real(SP), intent(in):: time
8170  logical, intent(in), optional:: quiet
8171  real(SP), intent(out) :: array(:,:,:)
8172  logical, intent(in), optional:: flag_mpi_split
8173  real(DP), intent(out), optional:: returned_time
8174  logical, intent(out), optional:: flag_time_exist
8175  logical, intent(out), optional:: err
8176  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8177  character(STRING), pointer:: carray (:)
8178  character(STRING):: tname
8179  character(*), parameter :: subname = "HistoryGetReal3TimeR"
8180  interface
8181  subroutine historygetreal3(&
8182  & file, varname, array, range, quiet, &
8183  & flag_mpi_split, returned_time, flag_time_exist, err)
8184  use dc_types, only: dp, sp
8185  character(*), intent(in):: file
8186  character(*), intent(in):: varname
8187  character(*), intent(in), optional:: range
8188  logical, intent(in), optional:: quiet
8189  logical, intent(in), optional:: flag_mpi_split
8190  real(DP), intent(out), optional:: returned_time
8191  logical, intent(out), optional:: flag_time_exist
8192  logical, intent(out), optional:: err
8193  real(SP), intent(out) :: array(:,:,:)
8194  end subroutine historygetreal3
8195  end interface
8196  interface
8197  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8198  character(*), intent(in):: file
8199  character(*), intent(in):: varname
8200  character(*), intent(out):: url
8201  character(*), intent(in), optional:: range
8202  logical, intent(out), optional:: flag_time_exist
8203  character(*), intent(out), optional:: time_name
8204  logical, intent(out), optional:: err
8205  end subroutine lookup_growable_url
8206  end interface
8207  interface
8208  function file_rename_mpi( file ) result(result)
8209  use dc_types, only: string
8210  character(*), intent(in):: file
8211  character(STRING):: result
8212  end function file_rename_mpi
8213  end interface
8214  continue
8215  file_work = file
8216  if ( present_and_true( flag_mpi_split ) ) &
8217  & file_work = file_rename_mpi( file_work )
8218  call lookup_growable_url(file = file_work, varname = varname, &
8219  & url = url, &
8220  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8221  call url_chop_iorange( &
8222  & fullname = url, iorange = iorange, remainder = remainder )
8223  call split( str = iorange, carray = carray, sep = gt_equal )
8224  timevar_name = carray(1)
8225  deallocate( carray )
8226  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8227  call historygetreal3( file = file, &
8228  & varname = varname, array = array, &
8229  & range = time_range, quiet = quiet, &
8230  & flag_mpi_split = flag_mpi_split, &
8231  & returned_time = returned_time, &
8232  & flag_time_exist = flag_time_exist, &
8233  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal4()

subroutine historygetreal4 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 2371 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_types::sp, dc_error::storeerror(), and dc_types::string.

Referenced by historygetreal4timed(), historygetreal4timei(), and historygetreal4timer().

2371  use gtdata_types, only: gt_variable
2372  use gtdata_generic, only: open, inquire, close, get
2373  use dc_string, only: tochar, split, joinchar, stoa
2376  use dc_regex, only: match
2377  use dc_types, only: string, dp, sp
2378  use dc_message, only: messagenotify
2379  use dc_trace, only: dbgmessage
2382  implicit none
2383  character(*), intent(in):: file
2384  character(*), intent(in):: varname
2385  character(*), intent(in), optional:: range
2386  logical, intent(in), optional:: quiet
2387  logical, intent(in), optional:: flag_mpi_split
2388  real(DP), intent(out), optional:: returned_time ! データの時刻
2389  logical, intent(out), optional:: flag_time_exist
2390  logical, intent(out), optional:: err
2391  real(SP), intent(out) :: array(:,:,:,:)
2392  real(SP), allocatable :: array_tmp(:)
2393  integer:: array_allsize
2394  integer:: array_shape(4), data_shape(4), array_shape_check(4)
2395  integer:: allcount
2396  integer:: i, sd
2397  logical:: inq_err
2398  type(gt_variable):: var
2399  character(STRING):: file_work, url, actual_url
2400  integer:: rank, alldims, array_rank
2401  integer:: domain
2402  character(STRING):: tname
2403  integer:: stat
2404  character(STRING):: cause_c
2405  character(*), parameter :: subname = "HistoryGetReal4"
2406  interface
2407  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
2408  character(*), intent(in):: file
2409  character(*), intent(in):: varname
2410  character(*), intent(out):: url
2411  character(*), intent(in), optional:: range
2412  logical, intent(out), optional:: flag_time_exist
2413  character(*), intent(out), optional:: time_name
2414  logical, intent(out), optional:: err
2415  end subroutine lookup_growable_url
2416  end interface
2417  interface
2418  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
2419  use dc_types, only: dp
2420  character(*), intent(in) :: url ! 変数 URL
2421  character(*), intent(out), optional :: actual_url
2422  ! 正確な入出力範囲指定
2423  real(DP), intent(out), optional:: returned_time ! データの時刻
2424  character(*), intent(in), optional:: time_name ! 時刻次元の名称
2425  logical, intent(out), optional :: err ! エラーのフラグ
2426  end subroutine actual_iorange_dump
2427  end interface
2428  interface
2429  function file_rename_mpi( file ) result(result)
2430  use dc_types, only: string
2431  character(*), intent(in):: file
2432  character(STRING):: result
2433  end function file_rename_mpi
2434  end interface
2435  continue
2436  cause_c = ''
2437  stat = dc_noerr
2438  file_work = file
2439  array_shape = shape( array )
2440  array_allsize = size( array )
2441  ! ファイル名の変更 (MPI 用)
2442  ! Change filename (for MPI)
2443  !
2444  if ( present_and_true( flag_mpi_split ) ) &
2445  & file_work = file_rename_mpi( file_work )
2446  ! 最新時刻の URL 取得
2447  ! Get URL of latest time
2448  !
2449  call lookup_growable_url(file_work, varname, url, range, &
2450  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
2451  if ( present_and_true(err) ) then
2452  stat = gt_enoturl
2453  cause_c = url
2454  goto 999
2455  end if
2456  ! ファイルオープン
2457  ! File open
2458  call open( var, url, err = err )
2459  if ( present_and_true(err) ) then
2460  stat = gt_enoturl
2461  cause_c = url
2462  goto 999
2463  end if
2464  !-------------------------------------------------------------------
2465  ! 配列形状のチェック
2466  ! Check array shape
2467  !-------------------------------------------------------------------
2468  ! 入力ファイル中のデータの次元数
2469  ! Get size of dimesions in data of an input file
2470  !
2471  call inquire( var = var, & ! (in)
2472  & rank = rank, alldims = alldims ) ! (out)
2473  ! 引数の次元数のチェック (縮退されている場合には減らす)
2474  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
2475  array_rank = 4
2476  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
2477  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
2478  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
2479  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
2480  ! 次元数の比較
2481  ! Compare sizes of dimensions
2482  !
2483  if ( .not. 4 == rank .and. .not. array_rank == rank ) then
2484  if ( .not. present_and_true(quiet) ) then
2485  call messagenotify('W', subname, &
2486  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
2487  & i = (/rank, 4/), c1 = trim(url) )
2488  end if
2489  stat = gt_erankmismatch
2490  cause_c = 'array'
2491  goto 999
2492  end if
2493  ! 入力ファイル中のデータの配列形状取得
2494  ! Get shape of data in an input file
2495  call inquire( var = var , dimord = 1, & ! (in)
2496  & allcount = allcount, err = inq_err ) ! (out)
2497  if ( .not. inq_err ) then
2498  data_shape(1) = allcount
2499  else
2500  data_shape(1) = 1
2501  end if
2502  call inquire( var = var , dimord = 2, & ! (in)
2503  & allcount = allcount, err = inq_err ) ! (out)
2504  if ( .not. inq_err ) then
2505  data_shape(2) = allcount
2506  else
2507  data_shape(2) = 1
2508  end if
2509  call inquire( var = var , dimord = 3, & ! (in)
2510  & allcount = allcount, err = inq_err ) ! (out)
2511  if ( .not. inq_err ) then
2512  data_shape(3) = allcount
2513  else
2514  data_shape(3) = 1
2515  end if
2516  call inquire( var = var , dimord = 4, & ! (in)
2517  & allcount = allcount, err = inq_err ) ! (out)
2518  if ( .not. inq_err ) then
2519  data_shape(4) = allcount
2520  else
2521  data_shape(4) = 1
2522  end if
2523  ! 引数の配列形状整形
2524  ! Arrange shape of an argument
2525  !
2526  array_shape_check = array_shape
2527  sd = 1
2528  do i = 1, 4 - 1
2529  if ( array_shape_check(sd) == 1 ) then
2530  array_shape_check(sd:4) = cshift( array_shape_check(sd:4), 1, 1 )
2531  else
2532  sd = sd + 1
2533  end if
2534  end do
2535  ! 配列形状の比較
2536  ! Compare shapes
2537  !
2538  if ( .not. all( array_shape_check == data_shape ) ) then
2539  if ( .not. present_and_true(quiet) ) then
2540  call messagenotify('W', subname, &
2541  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
2542  & c1 = trim( url ), &
2543  & c2 = trim( tochar( data_shape(1:rank) ) ), &
2544  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
2545  end if
2546  stat = gt_eargsizemismatch
2547  cause_c = 'array'
2548  goto 999
2549  end if
2550  !-------------------------------------
2551  ! データ取得
2552  ! Get data
2553  call inquire( var = var, & ! (in)
2554  & size = domain ) ! (out)
2555  if ( allocated( array_tmp ) ) deallocate( array_tmp )
2556  allocate( array_tmp(array_allsize) )
2557  call get( var, array_tmp, domain )
2558  array = reshape( array_tmp, array_shape )
2559  deallocate( array_tmp )
2560  call close( var )
2561  !-------------------------------------
2562  ! データファイル名と切り出し範囲の印字
2563  ! Print data filename and clipping range
2564  call actual_iorange_dump(url, & ! (in)
2565  & actual_url, returned_time, & ! (out) optional
2566  & time_name = tname, & ! (in) optional
2567  & err = err) ! (out) optional
2568  if ( .not. present_and_true(quiet) ) then
2569  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
2570  end if
2571 999 continue
2572  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal4pointer()

subroutine historygetreal4pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5766 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, and dc_types::string.

Referenced by historygetreal4pointertimed(), historygetreal4pointertimei(), and historygetreal4pointertimer().

5766  use gtdata_types, only: gt_variable
5767  use gtdata_generic, only: open, inquire, close, get
5768  use dc_string, only: tochar
5770  use dc_types, only: string, dp, sp
5771  use dc_message, only: messagenotify
5772  use dc_trace, only: dbgmessage
5773  implicit none
5774  character(*), intent(in):: file
5775  character(*), intent(in):: varname
5776  character(*), intent(in), optional:: range
5777  logical, intent(in), optional:: quiet
5778  logical, intent(in), optional:: flag_mpi_split
5779  real(DP), intent(out), optional:: returned_time ! データの時刻
5780  logical, intent(out), optional:: flag_time_exist
5781  logical, intent(out), optional:: err
5782  integer:: domain
5783  real(SP), pointer :: array(:,:,:,:) ! (out)
5784  real(SP), target :: array_tmp(1)
5785  type(gt_variable):: var
5786  character(STRING):: file_work, url, actual_url
5787  character(STRING):: tname
5788  character(*), parameter :: subname = "HistoryGetReal4Pointer"
5789  interface
5790  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5791  character(*), intent(in):: file
5792  character(*), intent(in):: varname
5793  character(*), intent(out):: url
5794  character(*), intent(in), optional:: range
5795  logical, intent(out), optional:: flag_time_exist
5796  character(*), intent(out), optional:: time_name
5797  logical, intent(out), optional:: err
5798  end subroutine lookup_growable_url
5799  end interface
5800  interface
5801  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5802  use dc_types, only: dp
5803  character(*), intent(in) :: url ! 変数 URL
5804  character(*), intent(out), optional :: actual_url
5805  ! 正確な入出力範囲指定
5806  real(DP), intent(out), optional:: returned_time ! データの時刻
5807  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5808  logical, intent(out), optional :: err ! エラーのフラグ
5809  end subroutine actual_iorange_dump
5810  end interface
5811  interface
5812  function file_rename_mpi( file ) result(result)
5813  use dc_types, only: string
5814  character(*), intent(in):: file
5815  character(STRING):: result
5816  end function file_rename_mpi
5817  end interface
5818  continue
5819  file_work = file
5820  ! ファイル名の変更 (MPI 用)
5821  ! Change filename (for MPI)
5822  !
5823  if ( present_and_true( flag_mpi_split ) ) &
5824  & file_work = file_rename_mpi( file_work )
5825  ! 必要な情報を gtool 変数化
5826  !
5827  call lookup_growable_url(file_work, varname, url, range, &
5828  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5829  call dbgmessage('@ url =%c', c1=trim(url))
5830  ! いよいよデータ取得
5831  !
5832  call open(var, url, err)
5833  call get(var, array, err)
5834  call close(var, err)
5835  call actual_iorange_dump(url, & ! (in)
5836  & actual_url, returned_time, & ! (out) optional
5837  & time_name = tname, & ! (in) optional
5838  & err = err) ! (out) optional
5839  if ( .not. present_and_true(quiet) ) then
5840  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5841  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal4pointertimed()

subroutine historygetreal4pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12494 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12494  use dc_string, only: tochar, split
12495  use dc_types, only: string, dp, sp
12496  use dc_trace, only: dbgmessage
12497  use dc_url, only: url_chop_iorange, gt_equal
12498  use dc_present, only: present_and_true
12499  implicit none
12500  character(*), intent(in):: file, varname
12501  real(DP), intent(in):: time
12502  logical, intent(in), optional:: quiet
12503  real(SP), pointer :: array(:,:,:,:)
12504  logical, intent(in), optional:: flag_mpi_split
12505  real(DP), intent(out), optional:: returned_time
12506  logical, intent(out), optional:: flag_time_exist
12507  logical, intent(out), optional:: err
12508  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12509  character(STRING), pointer:: carray (:)
12510  character(STRING):: tname
12511  character(*), parameter :: subname = "HistoryGetReal4TimeD"
12512  interface
12513  subroutine historygetreal4pointer(&
12514  & file, varname, array, range, quiet, &
12515  & flag_mpi_split, returned_time, flag_time_exist, err)
12516  use dc_types, only: dp, sp
12517  character(*), intent(in):: file
12518  character(*), intent(in):: varname
12519  character(*), intent(in), optional:: range
12520  logical, intent(in), optional:: quiet
12521  logical, intent(in), optional:: flag_mpi_split
12522  real(DP), intent(out), optional:: returned_time
12523  logical, intent(out), optional:: flag_time_exist
12524  logical, intent(out), optional:: err
12525  real(SP), pointer :: array(:,:,:,:)
12526  end subroutine historygetreal4pointer
12527  end interface
12528  interface
12529  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12530  character(*), intent(in):: file
12531  character(*), intent(in):: varname
12532  character(*), intent(out):: url
12533  character(*), intent(in), optional:: range
12534  logical, intent(out), optional:: flag_time_exist
12535  character(*), intent(out), optional:: time_name
12536  logical, intent(out), optional:: err
12537  end subroutine lookup_growable_url
12538  end interface
12539  interface
12540  function file_rename_mpi( file ) result(result)
12541  use dc_types, only: string
12542  character(*), intent(in):: file
12543  character(STRING):: result
12544  end function file_rename_mpi
12545  end interface
12546  continue
12547  file_work = file
12548  if ( present_and_true( flag_mpi_split ) ) &
12549  & file_work = file_rename_mpi( file_work )
12550  call lookup_growable_url(file = file_work, varname = varname, &
12551  & url = url, &
12552  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12553  call url_chop_iorange( &
12554  & fullname = url, iorange = iorange, remainder = remainder )
12555  call split( str = iorange, carray = carray, sep = gt_equal )
12556  timevar_name = carray(1)
12557  deallocate( carray )
12558  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12559  call historygetreal4pointer( file = file, &
12560  & varname = varname, array = array, &
12561  & range = time_range, quiet = quiet, &
12562  & flag_mpi_split = flag_mpi_split, &
12563  & returned_time = returned_time, &
12564  & flag_time_exist = flag_time_exist, &
12565  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal4pointertimei()

subroutine historygetreal4pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16142 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

16142  use dc_string, only: tochar, split
16143  use dc_types, only: string, dp, sp
16144  use dc_trace, only: dbgmessage
16145  use dc_url, only: url_chop_iorange, gt_equal
16146  use dc_present, only: present_and_true
16147  implicit none
16148  character(*), intent(in):: file, varname
16149  integer, intent(in):: time
16150  logical, intent(in), optional:: quiet
16151  real(SP), pointer :: array(:,:,:,:)
16152  logical, intent(in), optional:: flag_mpi_split
16153  real(DP), intent(out), optional:: returned_time
16154  logical, intent(out), optional:: flag_time_exist
16155  logical, intent(out), optional:: err
16156  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16157  character(STRING), pointer:: carray (:)
16158  character(STRING):: tname
16159  character(*), parameter :: subname = "HistoryGetReal4TimeI"
16160  interface
16161  subroutine historygetreal4pointer(&
16162  & file, varname, array, range, quiet, &
16163  & flag_mpi_split, returned_time, flag_time_exist, err)
16164  use dc_types, only: dp, sp
16165  character(*), intent(in):: file
16166  character(*), intent(in):: varname
16167  character(*), intent(in), optional:: range
16168  logical, intent(in), optional:: quiet
16169  logical, intent(in), optional:: flag_mpi_split
16170  real(DP), intent(out), optional:: returned_time
16171  logical, intent(out), optional:: flag_time_exist
16172  logical, intent(out), optional:: err
16173  real(SP), pointer :: array(:,:,:,:)
16174  end subroutine historygetreal4pointer
16175  end interface
16176  interface
16177  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16178  character(*), intent(in):: file
16179  character(*), intent(in):: varname
16180  character(*), intent(out):: url
16181  character(*), intent(in), optional:: range
16182  logical, intent(out), optional:: flag_time_exist
16183  character(*), intent(out), optional:: time_name
16184  logical, intent(out), optional:: err
16185  end subroutine lookup_growable_url
16186  end interface
16187  interface
16188  function file_rename_mpi( file ) result(result)
16189  use dc_types, only: string
16190  character(*), intent(in):: file
16191  character(STRING):: result
16192  end function file_rename_mpi
16193  end interface
16194  continue
16195  file_work = file
16196  if ( present_and_true( flag_mpi_split ) ) &
16197  & file_work = file_rename_mpi( file_work )
16198  call lookup_growable_url(file = file_work, varname = varname, &
16199  & url = url, &
16200  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16201  call url_chop_iorange( &
16202  & fullname = url, iorange = iorange, remainder = remainder )
16203  call split( str = iorange, carray = carray, sep = gt_equal )
16204  timevar_name = carray(1)
16205  deallocate( carray )
16206  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16207  call historygetreal4pointer( file = file, &
16208  & varname = varname, array = array, &
16209  & range = time_range, quiet = quiet, &
16210  & flag_mpi_split = flag_mpi_split, &
16211  & returned_time = returned_time, &
16212  & flag_time_exist = flag_time_exist, &
16213  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal4pointertimer()

subroutine historygetreal4pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8846 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal4pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8846  use dc_string, only: tochar, split
8847  use dc_types, only: string, dp, sp
8848  use dc_trace, only: dbgmessage
8849  use dc_url, only: url_chop_iorange, gt_equal
8850  use dc_present, only: present_and_true
8851  implicit none
8852  character(*), intent(in):: file, varname
8853  real(SP), intent(in):: time
8854  logical, intent(in), optional:: quiet
8855  real(SP), pointer :: array(:,:,:,:)
8856  logical, intent(in), optional:: flag_mpi_split
8857  real(DP), intent(out), optional:: returned_time
8858  logical, intent(out), optional:: flag_time_exist
8859  logical, intent(out), optional:: err
8860  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8861  character(STRING), pointer:: carray (:)
8862  character(STRING):: tname
8863  character(*), parameter :: subname = "HistoryGetReal4TimeR"
8864  interface
8865  subroutine historygetreal4pointer(&
8866  & file, varname, array, range, quiet, &
8867  & flag_mpi_split, returned_time, flag_time_exist, err)
8868  use dc_types, only: dp, sp
8869  character(*), intent(in):: file
8870  character(*), intent(in):: varname
8871  character(*), intent(in), optional:: range
8872  logical, intent(in), optional:: quiet
8873  logical, intent(in), optional:: flag_mpi_split
8874  real(DP), intent(out), optional:: returned_time
8875  logical, intent(out), optional:: flag_time_exist
8876  logical, intent(out), optional:: err
8877  real(SP), pointer :: array(:,:,:,:)
8878  end subroutine historygetreal4pointer
8879  end interface
8880  interface
8881  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8882  character(*), intent(in):: file
8883  character(*), intent(in):: varname
8884  character(*), intent(out):: url
8885  character(*), intent(in), optional:: range
8886  logical, intent(out), optional:: flag_time_exist
8887  character(*), intent(out), optional:: time_name
8888  logical, intent(out), optional:: err
8889  end subroutine lookup_growable_url
8890  end interface
8891  interface
8892  function file_rename_mpi( file ) result(result)
8893  use dc_types, only: string
8894  character(*), intent(in):: file
8895  character(STRING):: result
8896  end function file_rename_mpi
8897  end interface
8898  continue
8899  file_work = file
8900  if ( present_and_true( flag_mpi_split ) ) &
8901  & file_work = file_rename_mpi( file_work )
8902  call lookup_growable_url(file = file_work, varname = varname, &
8903  & url = url, &
8904  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8905  call url_chop_iorange( &
8906  & fullname = url, iorange = iorange, remainder = remainder )
8907  call split( str = iorange, carray = carray, sep = gt_equal )
8908  timevar_name = carray(1)
8909  deallocate( carray )
8910  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8911  call historygetreal4pointer( file = file, &
8912  & varname = varname, array = array, &
8913  & range = time_range, quiet = quiet, &
8914  & flag_mpi_split = flag_mpi_split, &
8915  & returned_time = returned_time, &
8916  & flag_time_exist = flag_time_exist, &
8917  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal4pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal4timed()

subroutine historygetreal4timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11886 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

11886  use dc_string, only: tochar, split
11887  use dc_types, only: string, dp, sp
11888  use dc_trace, only: dbgmessage
11889  use dc_url, only: url_chop_iorange, gt_equal
11890  use dc_present, only: present_and_true
11891  implicit none
11892  character(*), intent(in):: file, varname
11893  real(DP), intent(in):: time
11894  logical, intent(in), optional:: quiet
11895  real(SP), intent(out) :: array(:,:,:,:)
11896  logical, intent(in), optional:: flag_mpi_split
11897  real(DP), intent(out), optional:: returned_time
11898  logical, intent(out), optional:: flag_time_exist
11899  logical, intent(out), optional:: err
11900  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11901  character(STRING), pointer:: carray (:)
11902  character(STRING):: tname
11903  character(*), parameter :: subname = "HistoryGetReal4TimeD"
11904  interface
11905  subroutine historygetreal4(&
11906  & file, varname, array, range, quiet, &
11907  & flag_mpi_split, returned_time, flag_time_exist, err)
11908  use dc_types, only: dp, sp
11909  character(*), intent(in):: file
11910  character(*), intent(in):: varname
11911  character(*), intent(in), optional:: range
11912  logical, intent(in), optional:: quiet
11913  logical, intent(in), optional:: flag_mpi_split
11914  real(DP), intent(out), optional:: returned_time
11915  logical, intent(out), optional:: flag_time_exist
11916  logical, intent(out), optional:: err
11917  real(SP), intent(out) :: array(:,:,:,:)
11918  end subroutine historygetreal4
11919  end interface
11920  interface
11921  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11922  character(*), intent(in):: file
11923  character(*), intent(in):: varname
11924  character(*), intent(out):: url
11925  character(*), intent(in), optional:: range
11926  logical, intent(out), optional:: flag_time_exist
11927  character(*), intent(out), optional:: time_name
11928  logical, intent(out), optional:: err
11929  end subroutine lookup_growable_url
11930  end interface
11931  interface
11932  function file_rename_mpi( file ) result(result)
11933  use dc_types, only: string
11934  character(*), intent(in):: file
11935  character(STRING):: result
11936  end function file_rename_mpi
11937  end interface
11938  continue
11939  file_work = file
11940  if ( present_and_true( flag_mpi_split ) ) &
11941  & file_work = file_rename_mpi( file_work )
11942  call lookup_growable_url(file = file_work, varname = varname, &
11943  & url = url, &
11944  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
11945  call url_chop_iorange( &
11946  & fullname = url, iorange = iorange, remainder = remainder )
11947  call split( str = iorange, carray = carray, sep = gt_equal )
11948  timevar_name = carray(1)
11949  deallocate( carray )
11950  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
11951  call historygetreal4( file = file, &
11952  & varname = varname, array = array, &
11953  & range = time_range, quiet = quiet, &
11954  & flag_mpi_split = flag_mpi_split, &
11955  & returned_time = returned_time, &
11956  & flag_time_exist = flag_time_exist, &
11957  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetreal4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal4timei()

subroutine historygetreal4timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15534 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15534  use dc_string, only: tochar, split
15535  use dc_types, only: string, dp, sp
15536  use dc_trace, only: dbgmessage
15537  use dc_url, only: url_chop_iorange, gt_equal
15538  use dc_present, only: present_and_true
15539  implicit none
15540  character(*), intent(in):: file, varname
15541  integer, intent(in):: time
15542  logical, intent(in), optional:: quiet
15543  real(SP), intent(out) :: array(:,:,:,:)
15544  logical, intent(in), optional:: flag_mpi_split
15545  real(DP), intent(out), optional:: returned_time
15546  logical, intent(out), optional:: flag_time_exist
15547  logical, intent(out), optional:: err
15548  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15549  character(STRING), pointer:: carray (:)
15550  character(STRING):: tname
15551  character(*), parameter :: subname = "HistoryGetReal4TimeI"
15552  interface
15553  subroutine historygetreal4(&
15554  & file, varname, array, range, quiet, &
15555  & flag_mpi_split, returned_time, flag_time_exist, err)
15556  use dc_types, only: dp, sp
15557  character(*), intent(in):: file
15558  character(*), intent(in):: varname
15559  character(*), intent(in), optional:: range
15560  logical, intent(in), optional:: quiet
15561  logical, intent(in), optional:: flag_mpi_split
15562  real(DP), intent(out), optional:: returned_time
15563  logical, intent(out), optional:: flag_time_exist
15564  logical, intent(out), optional:: err
15565  real(SP), intent(out) :: array(:,:,:,:)
15566  end subroutine historygetreal4
15567  end interface
15568  interface
15569  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15570  character(*), intent(in):: file
15571  character(*), intent(in):: varname
15572  character(*), intent(out):: url
15573  character(*), intent(in), optional:: range
15574  logical, intent(out), optional:: flag_time_exist
15575  character(*), intent(out), optional:: time_name
15576  logical, intent(out), optional:: err
15577  end subroutine lookup_growable_url
15578  end interface
15579  interface
15580  function file_rename_mpi( file ) result(result)
15581  use dc_types, only: string
15582  character(*), intent(in):: file
15583  character(STRING):: result
15584  end function file_rename_mpi
15585  end interface
15586  continue
15587  file_work = file
15588  if ( present_and_true( flag_mpi_split ) ) &
15589  & file_work = file_rename_mpi( file_work )
15590  call lookup_growable_url(file = file_work, varname = varname, &
15591  & url = url, &
15592  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15593  call url_chop_iorange( &
15594  & fullname = url, iorange = iorange, remainder = remainder )
15595  call split( str = iorange, carray = carray, sep = gt_equal )
15596  timevar_name = carray(1)
15597  deallocate( carray )
15598  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15599  call historygetreal4( file = file, &
15600  & varname = varname, array = array, &
15601  & range = time_range, quiet = quiet, &
15602  & flag_mpi_split = flag_mpi_split, &
15603  & returned_time = returned_time, &
15604  & flag_time_exist = flag_time_exist, &
15605  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetreal4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal4timer()

subroutine historygetreal4timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8238 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal4(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8238  use dc_string, only: tochar, split
8239  use dc_types, only: string, dp, sp
8240  use dc_trace, only: dbgmessage
8241  use dc_url, only: url_chop_iorange, gt_equal
8242  use dc_present, only: present_and_true
8243  implicit none
8244  character(*), intent(in):: file, varname
8245  real(SP), intent(in):: time
8246  logical, intent(in), optional:: quiet
8247  real(SP), intent(out) :: array(:,:,:,:)
8248  logical, intent(in), optional:: flag_mpi_split
8249  real(DP), intent(out), optional:: returned_time
8250  logical, intent(out), optional:: flag_time_exist
8251  logical, intent(out), optional:: err
8252  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8253  character(STRING), pointer:: carray (:)
8254  character(STRING):: tname
8255  character(*), parameter :: subname = "HistoryGetReal4TimeR"
8256  interface
8257  subroutine historygetreal4(&
8258  & file, varname, array, range, quiet, &
8259  & flag_mpi_split, returned_time, flag_time_exist, err)
8260  use dc_types, only: dp, sp
8261  character(*), intent(in):: file
8262  character(*), intent(in):: varname
8263  character(*), intent(in), optional:: range
8264  logical, intent(in), optional:: quiet
8265  logical, intent(in), optional:: flag_mpi_split
8266  real(DP), intent(out), optional:: returned_time
8267  logical, intent(out), optional:: flag_time_exist
8268  logical, intent(out), optional:: err
8269  real(SP), intent(out) :: array(:,:,:,:)
8270  end subroutine historygetreal4
8271  end interface
8272  interface
8273  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8274  character(*), intent(in):: file
8275  character(*), intent(in):: varname
8276  character(*), intent(out):: url
8277  character(*), intent(in), optional:: range
8278  logical, intent(out), optional:: flag_time_exist
8279  character(*), intent(out), optional:: time_name
8280  logical, intent(out), optional:: err
8281  end subroutine lookup_growable_url
8282  end interface
8283  interface
8284  function file_rename_mpi( file ) result(result)
8285  use dc_types, only: string
8286  character(*), intent(in):: file
8287  character(STRING):: result
8288  end function file_rename_mpi
8289  end interface
8290  continue
8291  file_work = file
8292  if ( present_and_true( flag_mpi_split ) ) &
8293  & file_work = file_rename_mpi( file_work )
8294  call lookup_growable_url(file = file_work, varname = varname, &
8295  & url = url, &
8296  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8297  call url_chop_iorange( &
8298  & fullname = url, iorange = iorange, remainder = remainder )
8299  call split( str = iorange, carray = carray, sep = gt_equal )
8300  timevar_name = carray(1)
8301  deallocate( carray )
8302  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8303  call historygetreal4( file = file, &
8304  & varname = varname, array = array, &
8305  & range = time_range, quiet = quiet, &
8306  & flag_mpi_split = flag_mpi_split, &
8307  & returned_time = returned_time, &
8308  & flag_time_exist = flag_time_exist, &
8309  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
subroutine historygetreal4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal5()

subroutine historygetreal5 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 2576 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_types::sp, dc_error::storeerror(), and dc_types::string.

Referenced by historygetreal5timed(), historygetreal5timei(), and historygetreal5timer().

2576  use gtdata_types, only: gt_variable
2577  use gtdata_generic, only: open, inquire, close, get
2578  use dc_string, only: tochar, split, joinchar, stoa
2581  use dc_regex, only: match
2582  use dc_types, only: string, dp, sp
2583  use dc_message, only: messagenotify
2584  use dc_trace, only: dbgmessage
2587  implicit none
2588  character(*), intent(in):: file
2589  character(*), intent(in):: varname
2590  character(*), intent(in), optional:: range
2591  logical, intent(in), optional:: quiet
2592  logical, intent(in), optional:: flag_mpi_split
2593  real(DP), intent(out), optional:: returned_time ! データの時刻
2594  logical, intent(out), optional:: flag_time_exist
2595  logical, intent(out), optional:: err
2596  real(SP), intent(out) :: array(:,:,:,:,:)
2597  real(SP), allocatable :: array_tmp(:)
2598  integer:: array_allsize
2599  integer:: array_shape(5), data_shape(5), array_shape_check(5)
2600  integer:: allcount
2601  integer:: i, sd
2602  logical:: inq_err
2603  type(gt_variable):: var
2604  character(STRING):: file_work, url, actual_url
2605  integer:: rank, alldims, array_rank
2606  integer:: domain
2607  character(STRING):: tname
2608  integer:: stat
2609  character(STRING):: cause_c
2610  character(*), parameter :: subname = "HistoryGetReal5"
2611  interface
2612  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
2613  character(*), intent(in):: file
2614  character(*), intent(in):: varname
2615  character(*), intent(out):: url
2616  character(*), intent(in), optional:: range
2617  logical, intent(out), optional:: flag_time_exist
2618  character(*), intent(out), optional:: time_name
2619  logical, intent(out), optional:: err
2620  end subroutine lookup_growable_url
2621  end interface
2622  interface
2623  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
2624  use dc_types, only: dp
2625  character(*), intent(in) :: url ! 変数 URL
2626  character(*), intent(out), optional :: actual_url
2627  ! 正確な入出力範囲指定
2628  real(DP), intent(out), optional:: returned_time ! データの時刻
2629  character(*), intent(in), optional:: time_name ! 時刻次元の名称
2630  logical, intent(out), optional :: err ! エラーのフラグ
2631  end subroutine actual_iorange_dump
2632  end interface
2633  interface
2634  function file_rename_mpi( file ) result(result)
2635  use dc_types, only: string
2636  character(*), intent(in):: file
2637  character(STRING):: result
2638  end function file_rename_mpi
2639  end interface
2640  continue
2641  cause_c = ''
2642  stat = dc_noerr
2643  file_work = file
2644  array_shape = shape( array )
2645  array_allsize = size( array )
2646  ! ファイル名の変更 (MPI 用)
2647  ! Change filename (for MPI)
2648  !
2649  if ( present_and_true( flag_mpi_split ) ) &
2650  & file_work = file_rename_mpi( file_work )
2651  ! 最新時刻の URL 取得
2652  ! Get URL of latest time
2653  !
2654  call lookup_growable_url(file_work, varname, url, range, &
2655  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
2656  if ( present_and_true(err) ) then
2657  stat = gt_enoturl
2658  cause_c = url
2659  goto 999
2660  end if
2661  ! ファイルオープン
2662  ! File open
2663  call open( var, url, err = err )
2664  if ( present_and_true(err) ) then
2665  stat = gt_enoturl
2666  cause_c = url
2667  goto 999
2668  end if
2669  !-------------------------------------------------------------------
2670  ! 配列形状のチェック
2671  ! Check array shape
2672  !-------------------------------------------------------------------
2673  ! 入力ファイル中のデータの次元数
2674  ! Get size of dimesions in data of an input file
2675  !
2676  call inquire( var = var, & ! (in)
2677  & rank = rank, alldims = alldims ) ! (out)
2678  ! 引数の次元数のチェック (縮退されている場合には減らす)
2679  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
2680  array_rank = 5
2681  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
2682  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
2683  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
2684  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
2685  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
2686  ! 次元数の比較
2687  ! Compare sizes of dimensions
2688  !
2689  if ( .not. 5 == rank .and. .not. array_rank == rank ) then
2690  if ( .not. present_and_true(quiet) ) then
2691  call messagenotify('W', subname, &
2692  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
2693  & i = (/rank, 5/), c1 = trim(url) )
2694  end if
2695  stat = gt_erankmismatch
2696  cause_c = 'array'
2697  goto 999
2698  end if
2699  ! 入力ファイル中のデータの配列形状取得
2700  ! Get shape of data in an input file
2701  call inquire( var = var , dimord = 1, & ! (in)
2702  & allcount = allcount, err = inq_err ) ! (out)
2703  if ( .not. inq_err ) then
2704  data_shape(1) = allcount
2705  else
2706  data_shape(1) = 1
2707  end if
2708  call inquire( var = var , dimord = 2, & ! (in)
2709  & allcount = allcount, err = inq_err ) ! (out)
2710  if ( .not. inq_err ) then
2711  data_shape(2) = allcount
2712  else
2713  data_shape(2) = 1
2714  end if
2715  call inquire( var = var , dimord = 3, & ! (in)
2716  & allcount = allcount, err = inq_err ) ! (out)
2717  if ( .not. inq_err ) then
2718  data_shape(3) = allcount
2719  else
2720  data_shape(3) = 1
2721  end if
2722  call inquire( var = var , dimord = 4, & ! (in)
2723  & allcount = allcount, err = inq_err ) ! (out)
2724  if ( .not. inq_err ) then
2725  data_shape(4) = allcount
2726  else
2727  data_shape(4) = 1
2728  end if
2729  call inquire( var = var , dimord = 5, & ! (in)
2730  & allcount = allcount, err = inq_err ) ! (out)
2731  if ( .not. inq_err ) then
2732  data_shape(5) = allcount
2733  else
2734  data_shape(5) = 1
2735  end if
2736  ! 引数の配列形状整形
2737  ! Arrange shape of an argument
2738  !
2739  array_shape_check = array_shape
2740  sd = 1
2741  do i = 1, 5 - 1
2742  if ( array_shape_check(sd) == 1 ) then
2743  array_shape_check(sd:5) = cshift( array_shape_check(sd:5), 1, 1 )
2744  else
2745  sd = sd + 1
2746  end if
2747  end do
2748  ! 配列形状の比較
2749  ! Compare shapes
2750  !
2751  if ( .not. all( array_shape_check == data_shape ) ) then
2752  if ( .not. present_and_true(quiet) ) then
2753  call messagenotify('W', subname, &
2754  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
2755  & c1 = trim( url ), &
2756  & c2 = trim( tochar( data_shape(1:rank) ) ), &
2757  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
2758  end if
2759  stat = gt_eargsizemismatch
2760  cause_c = 'array'
2761  goto 999
2762  end if
2763  !-------------------------------------
2764  ! データ取得
2765  ! Get data
2766  call inquire( var = var, & ! (in)
2767  & size = domain ) ! (out)
2768  if ( allocated( array_tmp ) ) deallocate( array_tmp )
2769  allocate( array_tmp(array_allsize) )
2770  call get( var, array_tmp, domain )
2771  array = reshape( array_tmp, array_shape )
2772  deallocate( array_tmp )
2773  call close( var )
2774  !-------------------------------------
2775  ! データファイル名と切り出し範囲の印字
2776  ! Print data filename and clipping range
2777  call actual_iorange_dump(url, & ! (in)
2778  & actual_url, returned_time, & ! (out) optional
2779  & time_name = tname, & ! (in) optional
2780  & err = err) ! (out) optional
2781  if ( .not. present_and_true(quiet) ) then
2782  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
2783  end if
2784 999 continue
2785  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal5pointer()

subroutine historygetreal5pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5845 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, and dc_types::string.

Referenced by historygetreal5pointertimed(), historygetreal5pointertimei(), and historygetreal5pointertimer().

5845  use gtdata_types, only: gt_variable
5846  use gtdata_generic, only: open, inquire, close, get
5847  use dc_string, only: tochar
5849  use dc_types, only: string, dp, sp
5850  use dc_message, only: messagenotify
5851  use dc_trace, only: dbgmessage
5852  implicit none
5853  character(*), intent(in):: file
5854  character(*), intent(in):: varname
5855  character(*), intent(in), optional:: range
5856  logical, intent(in), optional:: quiet
5857  logical, intent(in), optional:: flag_mpi_split
5858  real(DP), intent(out), optional:: returned_time ! データの時刻
5859  logical, intent(out), optional:: flag_time_exist
5860  logical, intent(out), optional:: err
5861  integer:: domain
5862  real(SP), pointer :: array(:,:,:,:,:) ! (out)
5863  real(SP), target :: array_tmp(1)
5864  type(gt_variable):: var
5865  character(STRING):: file_work, url, actual_url
5866  character(STRING):: tname
5867  character(*), parameter :: subname = "HistoryGetReal5Pointer"
5868  interface
5869  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5870  character(*), intent(in):: file
5871  character(*), intent(in):: varname
5872  character(*), intent(out):: url
5873  character(*), intent(in), optional:: range
5874  logical, intent(out), optional:: flag_time_exist
5875  character(*), intent(out), optional:: time_name
5876  logical, intent(out), optional:: err
5877  end subroutine lookup_growable_url
5878  end interface
5879  interface
5880  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5881  use dc_types, only: dp
5882  character(*), intent(in) :: url ! 変数 URL
5883  character(*), intent(out), optional :: actual_url
5884  ! 正確な入出力範囲指定
5885  real(DP), intent(out), optional:: returned_time ! データの時刻
5886  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5887  logical, intent(out), optional :: err ! エラーのフラグ
5888  end subroutine actual_iorange_dump
5889  end interface
5890  interface
5891  function file_rename_mpi( file ) result(result)
5892  use dc_types, only: string
5893  character(*), intent(in):: file
5894  character(STRING):: result
5895  end function file_rename_mpi
5896  end interface
5897  continue
5898  file_work = file
5899  ! ファイル名の変更 (MPI 用)
5900  ! Change filename (for MPI)
5901  !
5902  if ( present_and_true( flag_mpi_split ) ) &
5903  & file_work = file_rename_mpi( file_work )
5904  ! 必要な情報を gtool 変数化
5905  !
5906  call lookup_growable_url(file_work, varname, url, range, &
5907  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5908  call dbgmessage('@ url =%c', c1=trim(url))
5909  ! いよいよデータ取得
5910  !
5911  call open(var, url, err)
5912  call get(var, array, err)
5913  call close(var, err)
5914  call actual_iorange_dump(url, & ! (in)
5915  & actual_url, returned_time, & ! (out) optional
5916  & time_name = tname, & ! (in) optional
5917  & err = err) ! (out) optional
5918  if ( .not. present_and_true(quiet) ) then
5919  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5920  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal5pointertimed()

subroutine historygetreal5pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12570 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12570  use dc_string, only: tochar, split
12571  use dc_types, only: string, dp, sp
12572  use dc_trace, only: dbgmessage
12573  use dc_url, only: url_chop_iorange, gt_equal
12574  use dc_present, only: present_and_true
12575  implicit none
12576  character(*), intent(in):: file, varname
12577  real(DP), intent(in):: time
12578  logical, intent(in), optional:: quiet
12579  real(SP), pointer :: array(:,:,:,:,:)
12580  logical, intent(in), optional:: flag_mpi_split
12581  real(DP), intent(out), optional:: returned_time
12582  logical, intent(out), optional:: flag_time_exist
12583  logical, intent(out), optional:: err
12584  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12585  character(STRING), pointer:: carray (:)
12586  character(STRING):: tname
12587  character(*), parameter :: subname = "HistoryGetReal5TimeD"
12588  interface
12589  subroutine historygetreal5pointer(&
12590  & file, varname, array, range, quiet, &
12591  & flag_mpi_split, returned_time, flag_time_exist, err)
12592  use dc_types, only: dp, sp
12593  character(*), intent(in):: file
12594  character(*), intent(in):: varname
12595  character(*), intent(in), optional:: range
12596  logical, intent(in), optional:: quiet
12597  logical, intent(in), optional:: flag_mpi_split
12598  real(DP), intent(out), optional:: returned_time
12599  logical, intent(out), optional:: flag_time_exist
12600  logical, intent(out), optional:: err
12601  real(SP), pointer :: array(:,:,:,:,:)
12602  end subroutine historygetreal5pointer
12603  end interface
12604  interface
12605  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12606  character(*), intent(in):: file
12607  character(*), intent(in):: varname
12608  character(*), intent(out):: url
12609  character(*), intent(in), optional:: range
12610  logical, intent(out), optional:: flag_time_exist
12611  character(*), intent(out), optional:: time_name
12612  logical, intent(out), optional:: err
12613  end subroutine lookup_growable_url
12614  end interface
12615  interface
12616  function file_rename_mpi( file ) result(result)
12617  use dc_types, only: string
12618  character(*), intent(in):: file
12619  character(STRING):: result
12620  end function file_rename_mpi
12621  end interface
12622  continue
12623  file_work = file
12624  if ( present_and_true( flag_mpi_split ) ) &
12625  & file_work = file_rename_mpi( file_work )
12626  call lookup_growable_url(file = file_work, varname = varname, &
12627  & url = url, &
12628  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12629  call url_chop_iorange( &
12630  & fullname = url, iorange = iorange, remainder = remainder )
12631  call split( str = iorange, carray = carray, sep = gt_equal )
12632  timevar_name = carray(1)
12633  deallocate( carray )
12634  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12635  call historygetreal5pointer( file = file, &
12636  & varname = varname, array = array, &
12637  & range = time_range, quiet = quiet, &
12638  & flag_mpi_split = flag_mpi_split, &
12639  & returned_time = returned_time, &
12640  & flag_time_exist = flag_time_exist, &
12641  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetreal5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal5pointertimei()

subroutine historygetreal5pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16218 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

16218  use dc_string, only: tochar, split
16219  use dc_types, only: string, dp, sp
16220  use dc_trace, only: dbgmessage
16221  use dc_url, only: url_chop_iorange, gt_equal
16222  use dc_present, only: present_and_true
16223  implicit none
16224  character(*), intent(in):: file, varname
16225  integer, intent(in):: time
16226  logical, intent(in), optional:: quiet
16227  real(SP), pointer :: array(:,:,:,:,:)
16228  logical, intent(in), optional:: flag_mpi_split
16229  real(DP), intent(out), optional:: returned_time
16230  logical, intent(out), optional:: flag_time_exist
16231  logical, intent(out), optional:: err
16232  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16233  character(STRING), pointer:: carray (:)
16234  character(STRING):: tname
16235  character(*), parameter :: subname = "HistoryGetReal5TimeI"
16236  interface
16237  subroutine historygetreal5pointer(&
16238  & file, varname, array, range, quiet, &
16239  & flag_mpi_split, returned_time, flag_time_exist, err)
16240  use dc_types, only: dp, sp
16241  character(*), intent(in):: file
16242  character(*), intent(in):: varname
16243  character(*), intent(in), optional:: range
16244  logical, intent(in), optional:: quiet
16245  logical, intent(in), optional:: flag_mpi_split
16246  real(DP), intent(out), optional:: returned_time
16247  logical, intent(out), optional:: flag_time_exist
16248  logical, intent(out), optional:: err
16249  real(SP), pointer :: array(:,:,:,:,:)
16250  end subroutine historygetreal5pointer
16251  end interface
16252  interface
16253  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16254  character(*), intent(in):: file
16255  character(*), intent(in):: varname
16256  character(*), intent(out):: url
16257  character(*), intent(in), optional:: range
16258  logical, intent(out), optional:: flag_time_exist
16259  character(*), intent(out), optional:: time_name
16260  logical, intent(out), optional:: err
16261  end subroutine lookup_growable_url
16262  end interface
16263  interface
16264  function file_rename_mpi( file ) result(result)
16265  use dc_types, only: string
16266  character(*), intent(in):: file
16267  character(STRING):: result
16268  end function file_rename_mpi
16269  end interface
16270  continue
16271  file_work = file
16272  if ( present_and_true( flag_mpi_split ) ) &
16273  & file_work = file_rename_mpi( file_work )
16274  call lookup_growable_url(file = file_work, varname = varname, &
16275  & url = url, &
16276  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16277  call url_chop_iorange( &
16278  & fullname = url, iorange = iorange, remainder = remainder )
16279  call split( str = iorange, carray = carray, sep = gt_equal )
16280  timevar_name = carray(1)
16281  deallocate( carray )
16282  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16283  call historygetreal5pointer( file = file, &
16284  & varname = varname, array = array, &
16285  & range = time_range, quiet = quiet, &
16286  & flag_mpi_split = flag_mpi_split, &
16287  & returned_time = returned_time, &
16288  & flag_time_exist = flag_time_exist, &
16289  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetreal5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal5pointertimer()

subroutine historygetreal5pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8922 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal5pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8922  use dc_string, only: tochar, split
8923  use dc_types, only: string, dp, sp
8924  use dc_trace, only: dbgmessage
8925  use dc_url, only: url_chop_iorange, gt_equal
8926  use dc_present, only: present_and_true
8927  implicit none
8928  character(*), intent(in):: file, varname
8929  real(SP), intent(in):: time
8930  logical, intent(in), optional:: quiet
8931  real(SP), pointer :: array(:,:,:,:,:)
8932  logical, intent(in), optional:: flag_mpi_split
8933  real(DP), intent(out), optional:: returned_time
8934  logical, intent(out), optional:: flag_time_exist
8935  logical, intent(out), optional:: err
8936  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8937  character(STRING), pointer:: carray (:)
8938  character(STRING):: tname
8939  character(*), parameter :: subname = "HistoryGetReal5TimeR"
8940  interface
8941  subroutine historygetreal5pointer(&
8942  & file, varname, array, range, quiet, &
8943  & flag_mpi_split, returned_time, flag_time_exist, err)
8944  use dc_types, only: dp, sp
8945  character(*), intent(in):: file
8946  character(*), intent(in):: varname
8947  character(*), intent(in), optional:: range
8948  logical, intent(in), optional:: quiet
8949  logical, intent(in), optional:: flag_mpi_split
8950  real(DP), intent(out), optional:: returned_time
8951  logical, intent(out), optional:: flag_time_exist
8952  logical, intent(out), optional:: err
8953  real(SP), pointer :: array(:,:,:,:,:)
8954  end subroutine historygetreal5pointer
8955  end interface
8956  interface
8957  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8958  character(*), intent(in):: file
8959  character(*), intent(in):: varname
8960  character(*), intent(out):: url
8961  character(*), intent(in), optional:: range
8962  logical, intent(out), optional:: flag_time_exist
8963  character(*), intent(out), optional:: time_name
8964  logical, intent(out), optional:: err
8965  end subroutine lookup_growable_url
8966  end interface
8967  interface
8968  function file_rename_mpi( file ) result(result)
8969  use dc_types, only: string
8970  character(*), intent(in):: file
8971  character(STRING):: result
8972  end function file_rename_mpi
8973  end interface
8974  continue
8975  file_work = file
8976  if ( present_and_true( flag_mpi_split ) ) &
8977  & file_work = file_rename_mpi( file_work )
8978  call lookup_growable_url(file = file_work, varname = varname, &
8979  & url = url, &
8980  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8981  call url_chop_iorange( &
8982  & fullname = url, iorange = iorange, remainder = remainder )
8983  call split( str = iorange, carray = carray, sep = gt_equal )
8984  timevar_name = carray(1)
8985  deallocate( carray )
8986  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8987  call historygetreal5pointer( file = file, &
8988  & varname = varname, array = array, &
8989  & range = time_range, quiet = quiet, &
8990  & flag_mpi_split = flag_mpi_split, &
8991  & returned_time = returned_time, &
8992  & flag_time_exist = flag_time_exist, &
8993  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine historygetreal5pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal5timed()

subroutine historygetreal5timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 11962 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

11962  use dc_string, only: tochar, split
11963  use dc_types, only: string, dp, sp
11964  use dc_trace, only: dbgmessage
11965  use dc_url, only: url_chop_iorange, gt_equal
11966  use dc_present, only: present_and_true
11967  implicit none
11968  character(*), intent(in):: file, varname
11969  real(DP), intent(in):: time
11970  logical, intent(in), optional:: quiet
11971  real(SP), intent(out) :: array(:,:,:,:,:)
11972  logical, intent(in), optional:: flag_mpi_split
11973  real(DP), intent(out), optional:: returned_time
11974  logical, intent(out), optional:: flag_time_exist
11975  logical, intent(out), optional:: err
11976  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
11977  character(STRING), pointer:: carray (:)
11978  character(STRING):: tname
11979  character(*), parameter :: subname = "HistoryGetReal5TimeD"
11980  interface
11981  subroutine historygetreal5(&
11982  & file, varname, array, range, quiet, &
11983  & flag_mpi_split, returned_time, flag_time_exist, err)
11984  use dc_types, only: dp, sp
11985  character(*), intent(in):: file
11986  character(*), intent(in):: varname
11987  character(*), intent(in), optional:: range
11988  logical, intent(in), optional:: quiet
11989  logical, intent(in), optional:: flag_mpi_split
11990  real(DP), intent(out), optional:: returned_time
11991  logical, intent(out), optional:: flag_time_exist
11992  logical, intent(out), optional:: err
11993  real(SP), intent(out) :: array(:,:,:,:,:)
11994  end subroutine historygetreal5
11995  end interface
11996  interface
11997  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
11998  character(*), intent(in):: file
11999  character(*), intent(in):: varname
12000  character(*), intent(out):: url
12001  character(*), intent(in), optional:: range
12002  logical, intent(out), optional:: flag_time_exist
12003  character(*), intent(out), optional:: time_name
12004  logical, intent(out), optional:: err
12005  end subroutine lookup_growable_url
12006  end interface
12007  interface
12008  function file_rename_mpi( file ) result(result)
12009  use dc_types, only: string
12010  character(*), intent(in):: file
12011  character(STRING):: result
12012  end function file_rename_mpi
12013  end interface
12014  continue
12015  file_work = file
12016  if ( present_and_true( flag_mpi_split ) ) &
12017  & file_work = file_rename_mpi( file_work )
12018  call lookup_growable_url(file = file_work, varname = varname, &
12019  & url = url, &
12020  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12021  call url_chop_iorange( &
12022  & fullname = url, iorange = iorange, remainder = remainder )
12023  call split( str = iorange, carray = carray, sep = gt_equal )
12024  timevar_name = carray(1)
12025  deallocate( carray )
12026  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12027  call historygetreal5( file = file, &
12028  & varname = varname, array = array, &
12029  & range = time_range, quiet = quiet, &
12030  & flag_mpi_split = flag_mpi_split, &
12031  & returned_time = returned_time, &
12032  & flag_time_exist = flag_time_exist, &
12033  & err = err )
subroutine historygetreal5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal5timei()

subroutine historygetreal5timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15610 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15610  use dc_string, only: tochar, split
15611  use dc_types, only: string, dp, sp
15612  use dc_trace, only: dbgmessage
15613  use dc_url, only: url_chop_iorange, gt_equal
15614  use dc_present, only: present_and_true
15615  implicit none
15616  character(*), intent(in):: file, varname
15617  integer, intent(in):: time
15618  logical, intent(in), optional:: quiet
15619  real(SP), intent(out) :: array(:,:,:,:,:)
15620  logical, intent(in), optional:: flag_mpi_split
15621  real(DP), intent(out), optional:: returned_time
15622  logical, intent(out), optional:: flag_time_exist
15623  logical, intent(out), optional:: err
15624  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15625  character(STRING), pointer:: carray (:)
15626  character(STRING):: tname
15627  character(*), parameter :: subname = "HistoryGetReal5TimeI"
15628  interface
15629  subroutine historygetreal5(&
15630  & file, varname, array, range, quiet, &
15631  & flag_mpi_split, returned_time, flag_time_exist, err)
15632  use dc_types, only: dp, sp
15633  character(*), intent(in):: file
15634  character(*), intent(in):: varname
15635  character(*), intent(in), optional:: range
15636  logical, intent(in), optional:: quiet
15637  logical, intent(in), optional:: flag_mpi_split
15638  real(DP), intent(out), optional:: returned_time
15639  logical, intent(out), optional:: flag_time_exist
15640  logical, intent(out), optional:: err
15641  real(SP), intent(out) :: array(:,:,:,:,:)
15642  end subroutine historygetreal5
15643  end interface
15644  interface
15645  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15646  character(*), intent(in):: file
15647  character(*), intent(in):: varname
15648  character(*), intent(out):: url
15649  character(*), intent(in), optional:: range
15650  logical, intent(out), optional:: flag_time_exist
15651  character(*), intent(out), optional:: time_name
15652  logical, intent(out), optional:: err
15653  end subroutine lookup_growable_url
15654  end interface
15655  interface
15656  function file_rename_mpi( file ) result(result)
15657  use dc_types, only: string
15658  character(*), intent(in):: file
15659  character(STRING):: result
15660  end function file_rename_mpi
15661  end interface
15662  continue
15663  file_work = file
15664  if ( present_and_true( flag_mpi_split ) ) &
15665  & file_work = file_rename_mpi( file_work )
15666  call lookup_growable_url(file = file_work, varname = varname, &
15667  & url = url, &
15668  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15669  call url_chop_iorange( &
15670  & fullname = url, iorange = iorange, remainder = remainder )
15671  call split( str = iorange, carray = carray, sep = gt_equal )
15672  timevar_name = carray(1)
15673  deallocate( carray )
15674  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15675  call historygetreal5( file = file, &
15676  & varname = varname, array = array, &
15677  & range = time_range, quiet = quiet, &
15678  & flag_mpi_split = flag_mpi_split, &
15679  & returned_time = returned_time, &
15680  & flag_time_exist = flag_time_exist, &
15681  & err = err )
subroutine historygetreal5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal5timer()

subroutine historygetreal5timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8314 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal5(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8314  use dc_string, only: tochar, split
8315  use dc_types, only: string, dp, sp
8316  use dc_trace, only: dbgmessage
8317  use dc_url, only: url_chop_iorange, gt_equal
8318  use dc_present, only: present_and_true
8319  implicit none
8320  character(*), intent(in):: file, varname
8321  real(SP), intent(in):: time
8322  logical, intent(in), optional:: quiet
8323  real(SP), intent(out) :: array(:,:,:,:,:)
8324  logical, intent(in), optional:: flag_mpi_split
8325  real(DP), intent(out), optional:: returned_time
8326  logical, intent(out), optional:: flag_time_exist
8327  logical, intent(out), optional:: err
8328  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8329  character(STRING), pointer:: carray (:)
8330  character(STRING):: tname
8331  character(*), parameter :: subname = "HistoryGetReal5TimeR"
8332  interface
8333  subroutine historygetreal5(&
8334  & file, varname, array, range, quiet, &
8335  & flag_mpi_split, returned_time, flag_time_exist, err)
8336  use dc_types, only: dp, sp
8337  character(*), intent(in):: file
8338  character(*), intent(in):: varname
8339  character(*), intent(in), optional:: range
8340  logical, intent(in), optional:: quiet
8341  logical, intent(in), optional:: flag_mpi_split
8342  real(DP), intent(out), optional:: returned_time
8343  logical, intent(out), optional:: flag_time_exist
8344  logical, intent(out), optional:: err
8345  real(SP), intent(out) :: array(:,:,:,:,:)
8346  end subroutine historygetreal5
8347  end interface
8348  interface
8349  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8350  character(*), intent(in):: file
8351  character(*), intent(in):: varname
8352  character(*), intent(out):: url
8353  character(*), intent(in), optional:: range
8354  logical, intent(out), optional:: flag_time_exist
8355  character(*), intent(out), optional:: time_name
8356  logical, intent(out), optional:: err
8357  end subroutine lookup_growable_url
8358  end interface
8359  interface
8360  function file_rename_mpi( file ) result(result)
8361  use dc_types, only: string
8362  character(*), intent(in):: file
8363  character(STRING):: result
8364  end function file_rename_mpi
8365  end interface
8366  continue
8367  file_work = file
8368  if ( present_and_true( flag_mpi_split ) ) &
8369  & file_work = file_rename_mpi( file_work )
8370  call lookup_growable_url(file = file_work, varname = varname, &
8371  & url = url, &
8372  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8373  call url_chop_iorange( &
8374  & fullname = url, iorange = iorange, remainder = remainder )
8375  call split( str = iorange, carray = carray, sep = gt_equal )
8376  timevar_name = carray(1)
8377  deallocate( carray )
8378  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8379  call historygetreal5( file = file, &
8380  & varname = varname, array = array, &
8381  & range = time_range, quiet = quiet, &
8382  & flag_mpi_split = flag_mpi_split, &
8383  & returned_time = returned_time, &
8384  & flag_time_exist = flag_time_exist, &
8385  & err = err )
subroutine historygetreal5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal6()

subroutine historygetreal6 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 2789 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_types::sp, dc_error::storeerror(), and dc_types::string.

Referenced by historygetreal6timed(), historygetreal6timei(), and historygetreal6timer().

2789  use gtdata_types, only: gt_variable
2790  use gtdata_generic, only: open, inquire, close, get
2791  use dc_string, only: tochar, split, joinchar, stoa
2794  use dc_regex, only: match
2795  use dc_types, only: string, dp, sp
2796  use dc_message, only: messagenotify
2797  use dc_trace, only: dbgmessage
2800  implicit none
2801  character(*), intent(in):: file
2802  character(*), intent(in):: varname
2803  character(*), intent(in), optional:: range
2804  logical, intent(in), optional:: quiet
2805  logical, intent(in), optional:: flag_mpi_split
2806  real(DP), intent(out), optional:: returned_time ! データの時刻
2807  logical, intent(out), optional:: flag_time_exist
2808  logical, intent(out), optional:: err
2809  real(SP), intent(out) :: array(:,:,:,:,:,:)
2810  real(SP), allocatable :: array_tmp(:)
2811  integer:: array_allsize
2812  integer:: array_shape(6), data_shape(6), array_shape_check(6)
2813  integer:: allcount
2814  integer:: i, sd
2815  logical:: inq_err
2816  type(gt_variable):: var
2817  character(STRING):: file_work, url, actual_url
2818  integer:: rank, alldims, array_rank
2819  integer:: domain
2820  character(STRING):: tname
2821  integer:: stat
2822  character(STRING):: cause_c
2823  character(*), parameter :: subname = "HistoryGetReal6"
2824  interface
2825  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
2826  character(*), intent(in):: file
2827  character(*), intent(in):: varname
2828  character(*), intent(out):: url
2829  character(*), intent(in), optional:: range
2830  logical, intent(out), optional:: flag_time_exist
2831  character(*), intent(out), optional:: time_name
2832  logical, intent(out), optional:: err
2833  end subroutine lookup_growable_url
2834  end interface
2835  interface
2836  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
2837  use dc_types, only: dp
2838  character(*), intent(in) :: url ! 変数 URL
2839  character(*), intent(out), optional :: actual_url
2840  ! 正確な入出力範囲指定
2841  real(DP), intent(out), optional:: returned_time ! データの時刻
2842  character(*), intent(in), optional:: time_name ! 時刻次元の名称
2843  logical, intent(out), optional :: err ! エラーのフラグ
2844  end subroutine actual_iorange_dump
2845  end interface
2846  interface
2847  function file_rename_mpi( file ) result(result)
2848  use dc_types, only: string
2849  character(*), intent(in):: file
2850  character(STRING):: result
2851  end function file_rename_mpi
2852  end interface
2853  continue
2854  cause_c = ''
2855  stat = dc_noerr
2856  file_work = file
2857  array_shape = shape( array )
2858  array_allsize = size( array )
2859  ! ファイル名の変更 (MPI 用)
2860  ! Change filename (for MPI)
2861  !
2862  if ( present_and_true( flag_mpi_split ) ) &
2863  & file_work = file_rename_mpi( file_work )
2864  ! 最新時刻の URL 取得
2865  ! Get URL of latest time
2866  !
2867  call lookup_growable_url(file_work, varname, url, range, &
2868  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
2869  if ( present_and_true(err) ) then
2870  stat = gt_enoturl
2871  cause_c = url
2872  goto 999
2873  end if
2874  ! ファイルオープン
2875  ! File open
2876  call open( var, url, err = err )
2877  if ( present_and_true(err) ) then
2878  stat = gt_enoturl
2879  cause_c = url
2880  goto 999
2881  end if
2882  !-------------------------------------------------------------------
2883  ! 配列形状のチェック
2884  ! Check array shape
2885  !-------------------------------------------------------------------
2886  ! 入力ファイル中のデータの次元数
2887  ! Get size of dimesions in data of an input file
2888  !
2889  call inquire( var = var, & ! (in)
2890  & rank = rank, alldims = alldims ) ! (out)
2891  ! 引数の次元数のチェック (縮退されている場合には減らす)
2892  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
2893  array_rank = 6
2894  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
2895  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
2896  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
2897  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
2898  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
2899  if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
2900  ! 次元数の比較
2901  ! Compare sizes of dimensions
2902  !
2903  if ( .not. 6 == rank .and. .not. array_rank == rank ) then
2904  if ( .not. present_and_true(quiet) ) then
2905  call messagenotify('W', subname, &
2906  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
2907  & i = (/rank, 6/), c1 = trim(url) )
2908  end if
2909  stat = gt_erankmismatch
2910  cause_c = 'array'
2911  goto 999
2912  end if
2913  ! 入力ファイル中のデータの配列形状取得
2914  ! Get shape of data in an input file
2915  call inquire( var = var , dimord = 1, & ! (in)
2916  & allcount = allcount, err = inq_err ) ! (out)
2917  if ( .not. inq_err ) then
2918  data_shape(1) = allcount
2919  else
2920  data_shape(1) = 1
2921  end if
2922  call inquire( var = var , dimord = 2, & ! (in)
2923  & allcount = allcount, err = inq_err ) ! (out)
2924  if ( .not. inq_err ) then
2925  data_shape(2) = allcount
2926  else
2927  data_shape(2) = 1
2928  end if
2929  call inquire( var = var , dimord = 3, & ! (in)
2930  & allcount = allcount, err = inq_err ) ! (out)
2931  if ( .not. inq_err ) then
2932  data_shape(3) = allcount
2933  else
2934  data_shape(3) = 1
2935  end if
2936  call inquire( var = var , dimord = 4, & ! (in)
2937  & allcount = allcount, err = inq_err ) ! (out)
2938  if ( .not. inq_err ) then
2939  data_shape(4) = allcount
2940  else
2941  data_shape(4) = 1
2942  end if
2943  call inquire( var = var , dimord = 5, & ! (in)
2944  & allcount = allcount, err = inq_err ) ! (out)
2945  if ( .not. inq_err ) then
2946  data_shape(5) = allcount
2947  else
2948  data_shape(5) = 1
2949  end if
2950  call inquire( var = var , dimord = 6, & ! (in)
2951  & allcount = allcount, err = inq_err ) ! (out)
2952  if ( .not. inq_err ) then
2953  data_shape(6) = allcount
2954  else
2955  data_shape(6) = 1
2956  end if
2957  ! 引数の配列形状整形
2958  ! Arrange shape of an argument
2959  !
2960  array_shape_check = array_shape
2961  sd = 1
2962  do i = 1, 6 - 1
2963  if ( array_shape_check(sd) == 1 ) then
2964  array_shape_check(sd:6) = cshift( array_shape_check(sd:6), 1, 1 )
2965  else
2966  sd = sd + 1
2967  end if
2968  end do
2969  ! 配列形状の比較
2970  ! Compare shapes
2971  !
2972  if ( .not. all( array_shape_check == data_shape ) ) then
2973  if ( .not. present_and_true(quiet) ) then
2974  call messagenotify('W', subname, &
2975  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
2976  & c1 = trim( url ), &
2977  & c2 = trim( tochar( data_shape(1:rank) ) ), &
2978  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
2979  end if
2980  stat = gt_eargsizemismatch
2981  cause_c = 'array'
2982  goto 999
2983  end if
2984  !-------------------------------------
2985  ! データ取得
2986  ! Get data
2987  call inquire( var = var, & ! (in)
2988  & size = domain ) ! (out)
2989  if ( allocated( array_tmp ) ) deallocate( array_tmp )
2990  allocate( array_tmp(array_allsize) )
2991  call get( var, array_tmp, domain )
2992  array = reshape( array_tmp, array_shape )
2993  deallocate( array_tmp )
2994  call close( var )
2995  !-------------------------------------
2996  ! データファイル名と切り出し範囲の印字
2997  ! Print data filename and clipping range
2998  call actual_iorange_dump(url, & ! (in)
2999  & actual_url, returned_time, & ! (out) optional
3000  & time_name = tname, & ! (in) optional
3001  & err = err) ! (out) optional
3002  if ( .not. present_and_true(quiet) ) then
3003  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
3004  end if
3005 999 continue
3006  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal6pointer()

subroutine historygetreal6pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 5924 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, and dc_types::string.

Referenced by historygetreal6pointertimed(), historygetreal6pointertimei(), and historygetreal6pointertimer().

5924  use gtdata_types, only: gt_variable
5925  use gtdata_generic, only: open, inquire, close, get
5926  use dc_string, only: tochar
5928  use dc_types, only: string, dp, sp
5929  use dc_message, only: messagenotify
5930  use dc_trace, only: dbgmessage
5931  implicit none
5932  character(*), intent(in):: file
5933  character(*), intent(in):: varname
5934  character(*), intent(in), optional:: range
5935  logical, intent(in), optional:: quiet
5936  logical, intent(in), optional:: flag_mpi_split
5937  real(DP), intent(out), optional:: returned_time ! データの時刻
5938  logical, intent(out), optional:: flag_time_exist
5939  logical, intent(out), optional:: err
5940  integer:: domain
5941  real(SP), pointer :: array(:,:,:,:,:,:) ! (out)
5942  real(SP), target :: array_tmp(1)
5943  type(gt_variable):: var
5944  character(STRING):: file_work, url, actual_url
5945  character(STRING):: tname
5946  character(*), parameter :: subname = "HistoryGetReal6Pointer"
5947  interface
5948  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
5949  character(*), intent(in):: file
5950  character(*), intent(in):: varname
5951  character(*), intent(out):: url
5952  character(*), intent(in), optional:: range
5953  logical, intent(out), optional:: flag_time_exist
5954  character(*), intent(out), optional:: time_name
5955  logical, intent(out), optional:: err
5956  end subroutine lookup_growable_url
5957  end interface
5958  interface
5959  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
5960  use dc_types, only: dp
5961  character(*), intent(in) :: url ! 変数 URL
5962  character(*), intent(out), optional :: actual_url
5963  ! 正確な入出力範囲指定
5964  real(DP), intent(out), optional:: returned_time ! データの時刻
5965  character(*), intent(in), optional:: time_name ! 時刻次元の名称
5966  logical, intent(out), optional :: err ! エラーのフラグ
5967  end subroutine actual_iorange_dump
5968  end interface
5969  interface
5970  function file_rename_mpi( file ) result(result)
5971  use dc_types, only: string
5972  character(*), intent(in):: file
5973  character(STRING):: result
5974  end function file_rename_mpi
5975  end interface
5976  continue
5977  file_work = file
5978  ! ファイル名の変更 (MPI 用)
5979  ! Change filename (for MPI)
5980  !
5981  if ( present_and_true( flag_mpi_split ) ) &
5982  & file_work = file_rename_mpi( file_work )
5983  ! 必要な情報を gtool 変数化
5984  !
5985  call lookup_growable_url(file_work, varname, url, range, &
5986  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
5987  call dbgmessage('@ url =%c', c1=trim(url))
5988  ! いよいよデータ取得
5989  !
5990  call open(var, url, err)
5991  call get(var, array, err)
5992  call close(var, err)
5993  call actual_iorange_dump(url, & ! (in)
5994  & actual_url, returned_time, & ! (out) optional
5995  & time_name = tname, & ! (in) optional
5996  & err = err) ! (out) optional
5997  if ( .not. present_and_true(quiet) ) then
5998  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
5999  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal6pointertimed()

subroutine historygetreal6pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12646 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12646  use dc_string, only: tochar, split
12647  use dc_types, only: string, dp, sp
12648  use dc_trace, only: dbgmessage
12649  use dc_url, only: url_chop_iorange, gt_equal
12650  use dc_present, only: present_and_true
12651  implicit none
12652  character(*), intent(in):: file, varname
12653  real(DP), intent(in):: time
12654  logical, intent(in), optional:: quiet
12655  real(SP), pointer :: array(:,:,:,:,:,:)
12656  logical, intent(in), optional:: flag_mpi_split
12657  real(DP), intent(out), optional:: returned_time
12658  logical, intent(out), optional:: flag_time_exist
12659  logical, intent(out), optional:: err
12660  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12661  character(STRING), pointer:: carray (:)
12662  character(STRING):: tname
12663  character(*), parameter :: subname = "HistoryGetReal6TimeD"
12664  interface
12665  subroutine historygetreal6pointer(&
12666  & file, varname, array, range, quiet, &
12667  & flag_mpi_split, returned_time, flag_time_exist, err)
12668  use dc_types, only: dp, sp
12669  character(*), intent(in):: file
12670  character(*), intent(in):: varname
12671  character(*), intent(in), optional:: range
12672  logical, intent(in), optional:: quiet
12673  logical, intent(in), optional:: flag_mpi_split
12674  real(DP), intent(out), optional:: returned_time
12675  logical, intent(out), optional:: flag_time_exist
12676  logical, intent(out), optional:: err
12677  real(SP), pointer :: array(:,:,:,:,:,:)
12678  end subroutine historygetreal6pointer
12679  end interface
12680  interface
12681  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12682  character(*), intent(in):: file
12683  character(*), intent(in):: varname
12684  character(*), intent(out):: url
12685  character(*), intent(in), optional:: range
12686  logical, intent(out), optional:: flag_time_exist
12687  character(*), intent(out), optional:: time_name
12688  logical, intent(out), optional:: err
12689  end subroutine lookup_growable_url
12690  end interface
12691  interface
12692  function file_rename_mpi( file ) result(result)
12693  use dc_types, only: string
12694  character(*), intent(in):: file
12695  character(STRING):: result
12696  end function file_rename_mpi
12697  end interface
12698  continue
12699  file_work = file
12700  if ( present_and_true( flag_mpi_split ) ) &
12701  & file_work = file_rename_mpi( file_work )
12702  call lookup_growable_url(file = file_work, varname = varname, &
12703  & url = url, &
12704  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12705  call url_chop_iorange( &
12706  & fullname = url, iorange = iorange, remainder = remainder )
12707  call split( str = iorange, carray = carray, sep = gt_equal )
12708  timevar_name = carray(1)
12709  deallocate( carray )
12710  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12711  call historygetreal6pointer( file = file, &
12712  & varname = varname, array = array, &
12713  & range = time_range, quiet = quiet, &
12714  & flag_mpi_split = flag_mpi_split, &
12715  & returned_time = returned_time, &
12716  & flag_time_exist = flag_time_exist, &
12717  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetreal6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal6pointertimei()

subroutine historygetreal6pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16294 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

16294  use dc_string, only: tochar, split
16295  use dc_types, only: string, dp, sp
16296  use dc_trace, only: dbgmessage
16297  use dc_url, only: url_chop_iorange, gt_equal
16298  use dc_present, only: present_and_true
16299  implicit none
16300  character(*), intent(in):: file, varname
16301  integer, intent(in):: time
16302  logical, intent(in), optional:: quiet
16303  real(SP), pointer :: array(:,:,:,:,:,:)
16304  logical, intent(in), optional:: flag_mpi_split
16305  real(DP), intent(out), optional:: returned_time
16306  logical, intent(out), optional:: flag_time_exist
16307  logical, intent(out), optional:: err
16308  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16309  character(STRING), pointer:: carray (:)
16310  character(STRING):: tname
16311  character(*), parameter :: subname = "HistoryGetReal6TimeI"
16312  interface
16313  subroutine historygetreal6pointer(&
16314  & file, varname, array, range, quiet, &
16315  & flag_mpi_split, returned_time, flag_time_exist, err)
16316  use dc_types, only: dp, sp
16317  character(*), intent(in):: file
16318  character(*), intent(in):: varname
16319  character(*), intent(in), optional:: range
16320  logical, intent(in), optional:: quiet
16321  logical, intent(in), optional:: flag_mpi_split
16322  real(DP), intent(out), optional:: returned_time
16323  logical, intent(out), optional:: flag_time_exist
16324  logical, intent(out), optional:: err
16325  real(SP), pointer :: array(:,:,:,:,:,:)
16326  end subroutine historygetreal6pointer
16327  end interface
16328  interface
16329  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16330  character(*), intent(in):: file
16331  character(*), intent(in):: varname
16332  character(*), intent(out):: url
16333  character(*), intent(in), optional:: range
16334  logical, intent(out), optional:: flag_time_exist
16335  character(*), intent(out), optional:: time_name
16336  logical, intent(out), optional:: err
16337  end subroutine lookup_growable_url
16338  end interface
16339  interface
16340  function file_rename_mpi( file ) result(result)
16341  use dc_types, only: string
16342  character(*), intent(in):: file
16343  character(STRING):: result
16344  end function file_rename_mpi
16345  end interface
16346  continue
16347  file_work = file
16348  if ( present_and_true( flag_mpi_split ) ) &
16349  & file_work = file_rename_mpi( file_work )
16350  call lookup_growable_url(file = file_work, varname = varname, &
16351  & url = url, &
16352  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16353  call url_chop_iorange( &
16354  & fullname = url, iorange = iorange, remainder = remainder )
16355  call split( str = iorange, carray = carray, sep = gt_equal )
16356  timevar_name = carray(1)
16357  deallocate( carray )
16358  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16359  call historygetreal6pointer( file = file, &
16360  & varname = varname, array = array, &
16361  & range = time_range, quiet = quiet, &
16362  & flag_mpi_split = flag_mpi_split, &
16363  & returned_time = returned_time, &
16364  & flag_time_exist = flag_time_exist, &
16365  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetreal6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal6pointertimer()

subroutine historygetreal6pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8998 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal6pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8998  use dc_string, only: tochar, split
8999  use dc_types, only: string, dp, sp
9000  use dc_trace, only: dbgmessage
9001  use dc_url, only: url_chop_iorange, gt_equal
9002  use dc_present, only: present_and_true
9003  implicit none
9004  character(*), intent(in):: file, varname
9005  real(SP), intent(in):: time
9006  logical, intent(in), optional:: quiet
9007  real(SP), pointer :: array(:,:,:,:,:,:)
9008  logical, intent(in), optional:: flag_mpi_split
9009  real(DP), intent(out), optional:: returned_time
9010  logical, intent(out), optional:: flag_time_exist
9011  logical, intent(out), optional:: err
9012  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9013  character(STRING), pointer:: carray (:)
9014  character(STRING):: tname
9015  character(*), parameter :: subname = "HistoryGetReal6TimeR"
9016  interface
9017  subroutine historygetreal6pointer(&
9018  & file, varname, array, range, quiet, &
9019  & flag_mpi_split, returned_time, flag_time_exist, err)
9020  use dc_types, only: dp, sp
9021  character(*), intent(in):: file
9022  character(*), intent(in):: varname
9023  character(*), intent(in), optional:: range
9024  logical, intent(in), optional:: quiet
9025  logical, intent(in), optional:: flag_mpi_split
9026  real(DP), intent(out), optional:: returned_time
9027  logical, intent(out), optional:: flag_time_exist
9028  logical, intent(out), optional:: err
9029  real(SP), pointer :: array(:,:,:,:,:,:)
9030  end subroutine historygetreal6pointer
9031  end interface
9032  interface
9033  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9034  character(*), intent(in):: file
9035  character(*), intent(in):: varname
9036  character(*), intent(out):: url
9037  character(*), intent(in), optional:: range
9038  logical, intent(out), optional:: flag_time_exist
9039  character(*), intent(out), optional:: time_name
9040  logical, intent(out), optional:: err
9041  end subroutine lookup_growable_url
9042  end interface
9043  interface
9044  function file_rename_mpi( file ) result(result)
9045  use dc_types, only: string
9046  character(*), intent(in):: file
9047  character(STRING):: result
9048  end function file_rename_mpi
9049  end interface
9050  continue
9051  file_work = file
9052  if ( present_and_true( flag_mpi_split ) ) &
9053  & file_work = file_rename_mpi( file_work )
9054  call lookup_growable_url(file = file_work, varname = varname, &
9055  & url = url, &
9056  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9057  call url_chop_iorange( &
9058  & fullname = url, iorange = iorange, remainder = remainder )
9059  call split( str = iorange, carray = carray, sep = gt_equal )
9060  timevar_name = carray(1)
9061  deallocate( carray )
9062  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9063  call historygetreal6pointer( file = file, &
9064  & varname = varname, array = array, &
9065  & range = time_range, quiet = quiet, &
9066  & flag_mpi_split = flag_mpi_split, &
9067  & returned_time = returned_time, &
9068  & flag_time_exist = flag_time_exist, &
9069  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetreal6pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal6timed()

subroutine historygetreal6timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12038 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12038  use dc_string, only: tochar, split
12039  use dc_types, only: string, dp, sp
12040  use dc_trace, only: dbgmessage
12041  use dc_url, only: url_chop_iorange, gt_equal
12042  use dc_present, only: present_and_true
12043  implicit none
12044  character(*), intent(in):: file, varname
12045  real(DP), intent(in):: time
12046  logical, intent(in), optional:: quiet
12047  real(SP), intent(out) :: array(:,:,:,:,:,:)
12048  logical, intent(in), optional:: flag_mpi_split
12049  real(DP), intent(out), optional:: returned_time
12050  logical, intent(out), optional:: flag_time_exist
12051  logical, intent(out), optional:: err
12052  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12053  character(STRING), pointer:: carray (:)
12054  character(STRING):: tname
12055  character(*), parameter :: subname = "HistoryGetReal6TimeD"
12056  interface
12057  subroutine historygetreal6(&
12058  & file, varname, array, range, quiet, &
12059  & flag_mpi_split, returned_time, flag_time_exist, err)
12060  use dc_types, only: dp, sp
12061  character(*), intent(in):: file
12062  character(*), intent(in):: varname
12063  character(*), intent(in), optional:: range
12064  logical, intent(in), optional:: quiet
12065  logical, intent(in), optional:: flag_mpi_split
12066  real(DP), intent(out), optional:: returned_time
12067  logical, intent(out), optional:: flag_time_exist
12068  logical, intent(out), optional:: err
12069  real(SP), intent(out) :: array(:,:,:,:,:,:)
12070  end subroutine historygetreal6
12071  end interface
12072  interface
12073  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12074  character(*), intent(in):: file
12075  character(*), intent(in):: varname
12076  character(*), intent(out):: url
12077  character(*), intent(in), optional:: range
12078  logical, intent(out), optional:: flag_time_exist
12079  character(*), intent(out), optional:: time_name
12080  logical, intent(out), optional:: err
12081  end subroutine lookup_growable_url
12082  end interface
12083  interface
12084  function file_rename_mpi( file ) result(result)
12085  use dc_types, only: string
12086  character(*), intent(in):: file
12087  character(STRING):: result
12088  end function file_rename_mpi
12089  end interface
12090  continue
12091  file_work = file
12092  if ( present_and_true( flag_mpi_split ) ) &
12093  & file_work = file_rename_mpi( file_work )
12094  call lookup_growable_url(file = file_work, varname = varname, &
12095  & url = url, &
12096  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12097  call url_chop_iorange( &
12098  & fullname = url, iorange = iorange, remainder = remainder )
12099  call split( str = iorange, carray = carray, sep = gt_equal )
12100  timevar_name = carray(1)
12101  deallocate( carray )
12102  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12103  call historygetreal6( file = file, &
12104  & varname = varname, array = array, &
12105  & range = time_range, quiet = quiet, &
12106  & flag_mpi_split = flag_mpi_split, &
12107  & returned_time = returned_time, &
12108  & flag_time_exist = flag_time_exist, &
12109  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal6timei()

subroutine historygetreal6timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15686 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15686  use dc_string, only: tochar, split
15687  use dc_types, only: string, dp, sp
15688  use dc_trace, only: dbgmessage
15689  use dc_url, only: url_chop_iorange, gt_equal
15690  use dc_present, only: present_and_true
15691  implicit none
15692  character(*), intent(in):: file, varname
15693  integer, intent(in):: time
15694  logical, intent(in), optional:: quiet
15695  real(SP), intent(out) :: array(:,:,:,:,:,:)
15696  logical, intent(in), optional:: flag_mpi_split
15697  real(DP), intent(out), optional:: returned_time
15698  logical, intent(out), optional:: flag_time_exist
15699  logical, intent(out), optional:: err
15700  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15701  character(STRING), pointer:: carray (:)
15702  character(STRING):: tname
15703  character(*), parameter :: subname = "HistoryGetReal6TimeI"
15704  interface
15705  subroutine historygetreal6(&
15706  & file, varname, array, range, quiet, &
15707  & flag_mpi_split, returned_time, flag_time_exist, err)
15708  use dc_types, only: dp, sp
15709  character(*), intent(in):: file
15710  character(*), intent(in):: varname
15711  character(*), intent(in), optional:: range
15712  logical, intent(in), optional:: quiet
15713  logical, intent(in), optional:: flag_mpi_split
15714  real(DP), intent(out), optional:: returned_time
15715  logical, intent(out), optional:: flag_time_exist
15716  logical, intent(out), optional:: err
15717  real(SP), intent(out) :: array(:,:,:,:,:,:)
15718  end subroutine historygetreal6
15719  end interface
15720  interface
15721  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15722  character(*), intent(in):: file
15723  character(*), intent(in):: varname
15724  character(*), intent(out):: url
15725  character(*), intent(in), optional:: range
15726  logical, intent(out), optional:: flag_time_exist
15727  character(*), intent(out), optional:: time_name
15728  logical, intent(out), optional:: err
15729  end subroutine lookup_growable_url
15730  end interface
15731  interface
15732  function file_rename_mpi( file ) result(result)
15733  use dc_types, only: string
15734  character(*), intent(in):: file
15735  character(STRING):: result
15736  end function file_rename_mpi
15737  end interface
15738  continue
15739  file_work = file
15740  if ( present_and_true( flag_mpi_split ) ) &
15741  & file_work = file_rename_mpi( file_work )
15742  call lookup_growable_url(file = file_work, varname = varname, &
15743  & url = url, &
15744  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15745  call url_chop_iorange( &
15746  & fullname = url, iorange = iorange, remainder = remainder )
15747  call split( str = iorange, carray = carray, sep = gt_equal )
15748  timevar_name = carray(1)
15749  deallocate( carray )
15750  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15751  call historygetreal6( file = file, &
15752  & varname = varname, array = array, &
15753  & range = time_range, quiet = quiet, &
15754  & flag_mpi_split = flag_mpi_split, &
15755  & returned_time = returned_time, &
15756  & flag_time_exist = flag_time_exist, &
15757  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal6timer()

subroutine historygetreal6timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8390 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal6(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8390  use dc_string, only: tochar, split
8391  use dc_types, only: string, dp, sp
8392  use dc_trace, only: dbgmessage
8393  use dc_url, only: url_chop_iorange, gt_equal
8394  use dc_present, only: present_and_true
8395  implicit none
8396  character(*), intent(in):: file, varname
8397  real(SP), intent(in):: time
8398  logical, intent(in), optional:: quiet
8399  real(SP), intent(out) :: array(:,:,:,:,:,:)
8400  logical, intent(in), optional:: flag_mpi_split
8401  real(DP), intent(out), optional:: returned_time
8402  logical, intent(out), optional:: flag_time_exist
8403  logical, intent(out), optional:: err
8404  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8405  character(STRING), pointer:: carray (:)
8406  character(STRING):: tname
8407  character(*), parameter :: subname = "HistoryGetReal6TimeR"
8408  interface
8409  subroutine historygetreal6(&
8410  & file, varname, array, range, quiet, &
8411  & flag_mpi_split, returned_time, flag_time_exist, err)
8412  use dc_types, only: dp, sp
8413  character(*), intent(in):: file
8414  character(*), intent(in):: varname
8415  character(*), intent(in), optional:: range
8416  logical, intent(in), optional:: quiet
8417  logical, intent(in), optional:: flag_mpi_split
8418  real(DP), intent(out), optional:: returned_time
8419  logical, intent(out), optional:: flag_time_exist
8420  logical, intent(out), optional:: err
8421  real(SP), intent(out) :: array(:,:,:,:,:,:)
8422  end subroutine historygetreal6
8423  end interface
8424  interface
8425  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8426  character(*), intent(in):: file
8427  character(*), intent(in):: varname
8428  character(*), intent(out):: url
8429  character(*), intent(in), optional:: range
8430  logical, intent(out), optional:: flag_time_exist
8431  character(*), intent(out), optional:: time_name
8432  logical, intent(out), optional:: err
8433  end subroutine lookup_growable_url
8434  end interface
8435  interface
8436  function file_rename_mpi( file ) result(result)
8437  use dc_types, only: string
8438  character(*), intent(in):: file
8439  character(STRING):: result
8440  end function file_rename_mpi
8441  end interface
8442  continue
8443  file_work = file
8444  if ( present_and_true( flag_mpi_split ) ) &
8445  & file_work = file_rename_mpi( file_work )
8446  call lookup_growable_url(file = file_work, varname = varname, &
8447  & url = url, &
8448  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8449  call url_chop_iorange( &
8450  & fullname = url, iorange = iorange, remainder = remainder )
8451  call split( str = iorange, carray = carray, sep = gt_equal )
8452  timevar_name = carray(1)
8453  deallocate( carray )
8454  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8455  call historygetreal6( file = file, &
8456  & varname = varname, array = array, &
8457  & range = time_range, quiet = quiet, &
8458  & flag_mpi_split = flag_mpi_split, &
8459  & returned_time = returned_time, &
8460  & flag_time_exist = flag_time_exist, &
8461  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
subroutine historygetreal6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal7()

subroutine historygetreal7 ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:,:), intent(out)  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 3010 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, file_rename_mpi(), dc_url::gt_atmark, dc_url::gt_comma, dc_error::gt_eargsizemismatch, dc_error::gt_enoturl, dc_url::gt_equal, dc_error::gt_erankmismatch, dc_string::joinchar(), lookup_growable_url(), dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_types::sp, dc_error::storeerror(), and dc_types::string.

Referenced by historygetreal7timed(), historygetreal7timei(), and historygetreal7timer().

3010  use gtdata_types, only: gt_variable
3011  use gtdata_generic, only: open, inquire, close, get
3012  use dc_string, only: tochar, split, joinchar, stoa
3015  use dc_regex, only: match
3016  use dc_types, only: string, dp, sp
3017  use dc_message, only: messagenotify
3018  use dc_trace, only: dbgmessage
3021  implicit none
3022  character(*), intent(in):: file
3023  character(*), intent(in):: varname
3024  character(*), intent(in), optional:: range
3025  logical, intent(in), optional:: quiet
3026  logical, intent(in), optional:: flag_mpi_split
3027  real(DP), intent(out), optional:: returned_time ! データの時刻
3028  logical, intent(out), optional:: flag_time_exist
3029  logical, intent(out), optional:: err
3030  real(SP), intent(out) :: array(:,:,:,:,:,:,:)
3031  real(SP), allocatable :: array_tmp(:)
3032  integer:: array_allsize
3033  integer:: array_shape(7), data_shape(7), array_shape_check(7)
3034  integer:: allcount
3035  integer:: i, sd
3036  logical:: inq_err
3037  type(gt_variable):: var
3038  character(STRING):: file_work, url, actual_url
3039  integer:: rank, alldims, array_rank
3040  integer:: domain
3041  character(STRING):: tname
3042  integer:: stat
3043  character(STRING):: cause_c
3044  character(*), parameter :: subname = "HistoryGetReal7"
3045  interface
3046  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
3047  character(*), intent(in):: file
3048  character(*), intent(in):: varname
3049  character(*), intent(out):: url
3050  character(*), intent(in), optional:: range
3051  logical, intent(out), optional:: flag_time_exist
3052  character(*), intent(out), optional:: time_name
3053  logical, intent(out), optional:: err
3054  end subroutine lookup_growable_url
3055  end interface
3056  interface
3057  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
3058  use dc_types, only: dp
3059  character(*), intent(in) :: url ! 変数 URL
3060  character(*), intent(out), optional :: actual_url
3061  ! 正確な入出力範囲指定
3062  real(DP), intent(out), optional:: returned_time ! データの時刻
3063  character(*), intent(in), optional:: time_name ! 時刻次元の名称
3064  logical, intent(out), optional :: err ! エラーのフラグ
3065  end subroutine actual_iorange_dump
3066  end interface
3067  interface
3068  function file_rename_mpi( file ) result(result)
3069  use dc_types, only: string
3070  character(*), intent(in):: file
3071  character(STRING):: result
3072  end function file_rename_mpi
3073  end interface
3074  continue
3075  cause_c = ''
3076  stat = dc_noerr
3077  file_work = file
3078  array_shape = shape( array )
3079  array_allsize = size( array )
3080  ! ファイル名の変更 (MPI 用)
3081  ! Change filename (for MPI)
3082  !
3083  if ( present_and_true( flag_mpi_split ) ) &
3084  & file_work = file_rename_mpi( file_work )
3085  ! 最新時刻の URL 取得
3086  ! Get URL of latest time
3087  !
3088  call lookup_growable_url(file_work, varname, url, range, &
3089  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
3090  if ( present_and_true(err) ) then
3091  stat = gt_enoturl
3092  cause_c = url
3093  goto 999
3094  end if
3095  ! ファイルオープン
3096  ! File open
3097  call open( var, url, err = err )
3098  if ( present_and_true(err) ) then
3099  stat = gt_enoturl
3100  cause_c = url
3101  goto 999
3102  end if
3103  !-------------------------------------------------------------------
3104  ! 配列形状のチェック
3105  ! Check array shape
3106  !-------------------------------------------------------------------
3107  ! 入力ファイル中のデータの次元数
3108  ! Get size of dimesions in data of an input file
3109  !
3110  call inquire( var = var, & ! (in)
3111  & rank = rank, alldims = alldims ) ! (out)
3112  ! 引数の次元数のチェック (縮退されている場合には減らす)
3113  ! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
3114  array_rank = 7
3115  if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
3116  if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
3117  if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
3118  if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
3119  if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
3120  if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
3121  if ( size( array, 7 ) == 1 ) array_rank = array_rank - 1
3122  ! 次元数の比較
3123  ! Compare sizes of dimensions
3124  !
3125  if ( .not. 7 == rank .and. .not. array_rank == rank ) then
3126  if ( .not. present_and_true(quiet) ) then
3127  call messagenotify('W', subname, &
3128  & 'Rank of data (%c) is "%d", rank of argument is "%d"', &
3129  & i = (/rank, 7/), c1 = trim(url) )
3130  end if
3131  stat = gt_erankmismatch
3132  cause_c = 'array'
3133  goto 999
3134  end if
3135  ! 入力ファイル中のデータの配列形状取得
3136  ! Get shape of data in an input file
3137  call inquire( var = var , dimord = 1, & ! (in)
3138  & allcount = allcount, err = inq_err ) ! (out)
3139  if ( .not. inq_err ) then
3140  data_shape(1) = allcount
3141  else
3142  data_shape(1) = 1
3143  end if
3144  call inquire( var = var , dimord = 2, & ! (in)
3145  & allcount = allcount, err = inq_err ) ! (out)
3146  if ( .not. inq_err ) then
3147  data_shape(2) = allcount
3148  else
3149  data_shape(2) = 1
3150  end if
3151  call inquire( var = var , dimord = 3, & ! (in)
3152  & allcount = allcount, err = inq_err ) ! (out)
3153  if ( .not. inq_err ) then
3154  data_shape(3) = allcount
3155  else
3156  data_shape(3) = 1
3157  end if
3158  call inquire( var = var , dimord = 4, & ! (in)
3159  & allcount = allcount, err = inq_err ) ! (out)
3160  if ( .not. inq_err ) then
3161  data_shape(4) = allcount
3162  else
3163  data_shape(4) = 1
3164  end if
3165  call inquire( var = var , dimord = 5, & ! (in)
3166  & allcount = allcount, err = inq_err ) ! (out)
3167  if ( .not. inq_err ) then
3168  data_shape(5) = allcount
3169  else
3170  data_shape(5) = 1
3171  end if
3172  call inquire( var = var , dimord = 6, & ! (in)
3173  & allcount = allcount, err = inq_err ) ! (out)
3174  if ( .not. inq_err ) then
3175  data_shape(6) = allcount
3176  else
3177  data_shape(6) = 1
3178  end if
3179  call inquire( var = var , dimord = 7, & ! (in)
3180  & allcount = allcount, err = inq_err ) ! (out)
3181  if ( .not. inq_err ) then
3182  data_shape(7) = allcount
3183  else
3184  data_shape(7) = 1
3185  end if
3186  ! 引数の配列形状整形
3187  ! Arrange shape of an argument
3188  !
3189  array_shape_check = array_shape
3190  sd = 1
3191  do i = 1, 7 - 1
3192  if ( array_shape_check(sd) == 1 ) then
3193  array_shape_check(sd:7) = cshift( array_shape_check(sd:7), 1, 1 )
3194  else
3195  sd = sd + 1
3196  end if
3197  end do
3198  ! 配列形状の比較
3199  ! Compare shapes
3200  !
3201  if ( .not. all( array_shape_check == data_shape ) ) then
3202  if ( .not. present_and_true(quiet) ) then
3203  call messagenotify('W', subname, &
3204  & 'Shape of data (%c) is (%c), shape of argument is (%c)', &
3205  & c1 = trim( url ), &
3206  & c2 = trim( tochar( data_shape(1:rank) ) ), &
3207  & c3 = trim( tochar( array_shape_check(1:rank) ) ) )
3208  end if
3209  stat = gt_eargsizemismatch
3210  cause_c = 'array'
3211  goto 999
3212  end if
3213  !-------------------------------------
3214  ! データ取得
3215  ! Get data
3216  call inquire( var = var, & ! (in)
3217  & size = domain ) ! (out)
3218  if ( allocated( array_tmp ) ) deallocate( array_tmp )
3219  allocate( array_tmp(array_allsize) )
3220  call get( var, array_tmp, domain )
3221  array = reshape( array_tmp, array_shape )
3222  deallocate( array_tmp )
3223  call close( var )
3224  !-------------------------------------
3225  ! データファイル名と切り出し範囲の印字
3226  ! Print data filename and clipping range
3227  call actual_iorange_dump(url, & ! (in)
3228  & actual_url, returned_time, & ! (out) optional
3229  & time_name = tname, & ! (in) optional
3230  & err = err) ! (out) optional
3231  if ( .not. present_and_true(quiet) ) then
3232  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
3233  end if
3234 999 continue
3235  call storeerror(stat, subname, err, cause_c)
character, parameter, public gt_comma
Definition: dc_url.f90:85
character, parameter, public gt_equal
Definition: dc_url.f90:87
integer, parameter, public gt_erankmismatch
Definition: dc_error.f90:545
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
character, parameter, public gt_atmark
Definition: dc_url.f90:79
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public gt_enoturl
Definition: dc_error.f90:546
character(string) function, public joinchar(carray, expr)
Definition: dc_string.f90:861
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
文字型変数の操作.
Definition: dc_string.f90:24
integer, parameter, public gt_eargsizemismatch
Definition: dc_error.f90:536
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal7pointer()

subroutine historygetreal7pointer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:,:), pointer  array,
character(*), intent(in), optional  range,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 6003 of file historyget.f90.

References actual_iorange_dump(), dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, and dc_types::string.

Referenced by historygetreal7pointertimed(), historygetreal7pointertimei(), and historygetreal7pointertimer().

6003  use gtdata_types, only: gt_variable
6004  use gtdata_generic, only: open, inquire, close, get
6005  use dc_string, only: tochar
6007  use dc_types, only: string, dp, sp
6008  use dc_message, only: messagenotify
6009  use dc_trace, only: dbgmessage
6010  implicit none
6011  character(*), intent(in):: file
6012  character(*), intent(in):: varname
6013  character(*), intent(in), optional:: range
6014  logical, intent(in), optional:: quiet
6015  logical, intent(in), optional:: flag_mpi_split
6016  real(DP), intent(out), optional:: returned_time ! データの時刻
6017  logical, intent(out), optional:: flag_time_exist
6018  logical, intent(out), optional:: err
6019  integer:: domain
6020  real(SP), pointer :: array(:,:,:,:,:,:,:) ! (out)
6021  real(SP), target :: array_tmp(1)
6022  type(gt_variable):: var
6023  character(STRING):: file_work, url, actual_url
6024  character(STRING):: tname
6025  character(*), parameter :: subname = "HistoryGetReal7Pointer"
6026  interface
6027  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
6028  character(*), intent(in):: file
6029  character(*), intent(in):: varname
6030  character(*), intent(out):: url
6031  character(*), intent(in), optional:: range
6032  logical, intent(out), optional:: flag_time_exist
6033  character(*), intent(out), optional:: time_name
6034  logical, intent(out), optional:: err
6035  end subroutine lookup_growable_url
6036  end interface
6037  interface
6038  subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
6039  use dc_types, only: dp
6040  character(*), intent(in) :: url ! 変数 URL
6041  character(*), intent(out), optional :: actual_url
6042  ! 正確な入出力範囲指定
6043  real(DP), intent(out), optional:: returned_time ! データの時刻
6044  character(*), intent(in), optional:: time_name ! 時刻次元の名称
6045  logical, intent(out), optional :: err ! エラーのフラグ
6046  end subroutine actual_iorange_dump
6047  end interface
6048  interface
6049  function file_rename_mpi( file ) result(result)
6050  use dc_types, only: string
6051  character(*), intent(in):: file
6052  character(STRING):: result
6053  end function file_rename_mpi
6054  end interface
6055  continue
6056  file_work = file
6057  ! ファイル名の変更 (MPI 用)
6058  ! Change filename (for MPI)
6059  !
6060  if ( present_and_true( flag_mpi_split ) ) &
6061  & file_work = file_rename_mpi( file_work )
6062  ! 必要な情報を gtool 変数化
6063  !
6064  call lookup_growable_url(file_work, varname, url, range, &
6065  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
6066  call dbgmessage('@ url =%c', c1=trim(url))
6067  ! いよいよデータ取得
6068  !
6069  call open(var, url, err)
6070  call get(var, array, err)
6071  call close(var, err)
6072  call actual_iorange_dump(url, & ! (in)
6073  & actual_url, returned_time, & ! (out) optional
6074  & time_name = tname, & ! (in) optional
6075  & err = err) ! (out) optional
6076  if ( .not. present_and_true(quiet) ) then
6077  call messagenotify('M', subname, 'Input %c', c1=trim(actual_url))
6078  end if
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine actual_iorange_dump(url, actual_url, returned_time, time_name, err)
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ historygetreal7pointertimed()

subroutine historygetreal7pointertimed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:,:), pointer  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12722 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12722  use dc_string, only: tochar, split
12723  use dc_types, only: string, dp, sp
12724  use dc_trace, only: dbgmessage
12725  use dc_url, only: url_chop_iorange, gt_equal
12726  use dc_present, only: present_and_true
12727  implicit none
12728  character(*), intent(in):: file, varname
12729  real(DP), intent(in):: time
12730  logical, intent(in), optional:: quiet
12731  real(SP), pointer :: array(:,:,:,:,:,:,:)
12732  logical, intent(in), optional:: flag_mpi_split
12733  real(DP), intent(out), optional:: returned_time
12734  logical, intent(out), optional:: flag_time_exist
12735  logical, intent(out), optional:: err
12736  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12737  character(STRING), pointer:: carray (:)
12738  character(STRING):: tname
12739  character(*), parameter :: subname = "HistoryGetReal7TimeD"
12740  interface
12741  subroutine historygetreal7pointer(&
12742  & file, varname, array, range, quiet, &
12743  & flag_mpi_split, returned_time, flag_time_exist, err)
12744  use dc_types, only: dp, sp
12745  character(*), intent(in):: file
12746  character(*), intent(in):: varname
12747  character(*), intent(in), optional:: range
12748  logical, intent(in), optional:: quiet
12749  logical, intent(in), optional:: flag_mpi_split
12750  real(DP), intent(out), optional:: returned_time
12751  logical, intent(out), optional:: flag_time_exist
12752  logical, intent(out), optional:: err
12753  real(SP), pointer :: array(:,:,:,:,:,:,:)
12754  end subroutine historygetreal7pointer
12755  end interface
12756  interface
12757  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12758  character(*), intent(in):: file
12759  character(*), intent(in):: varname
12760  character(*), intent(out):: url
12761  character(*), intent(in), optional:: range
12762  logical, intent(out), optional:: flag_time_exist
12763  character(*), intent(out), optional:: time_name
12764  logical, intent(out), optional:: err
12765  end subroutine lookup_growable_url
12766  end interface
12767  interface
12768  function file_rename_mpi( file ) result(result)
12769  use dc_types, only: string
12770  character(*), intent(in):: file
12771  character(STRING):: result
12772  end function file_rename_mpi
12773  end interface
12774  continue
12775  file_work = file
12776  if ( present_and_true( flag_mpi_split ) ) &
12777  & file_work = file_rename_mpi( file_work )
12778  call lookup_growable_url(file = file_work, varname = varname, &
12779  & url = url, &
12780  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12781  call url_chop_iorange( &
12782  & fullname = url, iorange = iorange, remainder = remainder )
12783  call split( str = iorange, carray = carray, sep = gt_equal )
12784  timevar_name = carray(1)
12785  deallocate( carray )
12786  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12787  call historygetreal7pointer( file = file, &
12788  & varname = varname, array = array, &
12789  & range = time_range, quiet = quiet, &
12790  & flag_mpi_split = flag_mpi_split, &
12791  & returned_time = returned_time, &
12792  & flag_time_exist = flag_time_exist, &
12793  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetreal7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal7pointertimei()

subroutine historygetreal7pointertimei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:,:), pointer  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 16370 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

16370  use dc_string, only: tochar, split
16371  use dc_types, only: string, dp, sp
16372  use dc_trace, only: dbgmessage
16373  use dc_url, only: url_chop_iorange, gt_equal
16374  use dc_present, only: present_and_true
16375  implicit none
16376  character(*), intent(in):: file, varname
16377  integer, intent(in):: time
16378  logical, intent(in), optional:: quiet
16379  real(SP), pointer :: array(:,:,:,:,:,:,:)
16380  logical, intent(in), optional:: flag_mpi_split
16381  real(DP), intent(out), optional:: returned_time
16382  logical, intent(out), optional:: flag_time_exist
16383  logical, intent(out), optional:: err
16384  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
16385  character(STRING), pointer:: carray (:)
16386  character(STRING):: tname
16387  character(*), parameter :: subname = "HistoryGetReal7TimeI"
16388  interface
16389  subroutine historygetreal7pointer(&
16390  & file, varname, array, range, quiet, &
16391  & flag_mpi_split, returned_time, flag_time_exist, err)
16392  use dc_types, only: dp, sp
16393  character(*), intent(in):: file
16394  character(*), intent(in):: varname
16395  character(*), intent(in), optional:: range
16396  logical, intent(in), optional:: quiet
16397  logical, intent(in), optional:: flag_mpi_split
16398  real(DP), intent(out), optional:: returned_time
16399  logical, intent(out), optional:: flag_time_exist
16400  logical, intent(out), optional:: err
16401  real(SP), pointer :: array(:,:,:,:,:,:,:)
16402  end subroutine historygetreal7pointer
16403  end interface
16404  interface
16405  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
16406  character(*), intent(in):: file
16407  character(*), intent(in):: varname
16408  character(*), intent(out):: url
16409  character(*), intent(in), optional:: range
16410  logical, intent(out), optional:: flag_time_exist
16411  character(*), intent(out), optional:: time_name
16412  logical, intent(out), optional:: err
16413  end subroutine lookup_growable_url
16414  end interface
16415  interface
16416  function file_rename_mpi( file ) result(result)
16417  use dc_types, only: string
16418  character(*), intent(in):: file
16419  character(STRING):: result
16420  end function file_rename_mpi
16421  end interface
16422  continue
16423  file_work = file
16424  if ( present_and_true( flag_mpi_split ) ) &
16425  & file_work = file_rename_mpi( file_work )
16426  call lookup_growable_url(file = file_work, varname = varname, &
16427  & url = url, &
16428  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
16429  call url_chop_iorange( &
16430  & fullname = url, iorange = iorange, remainder = remainder )
16431  call split( str = iorange, carray = carray, sep = gt_equal )
16432  timevar_name = carray(1)
16433  deallocate( carray )
16434  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
16435  call historygetreal7pointer( file = file, &
16436  & varname = varname, array = array, &
16437  & range = time_range, quiet = quiet, &
16438  & flag_mpi_split = flag_mpi_split, &
16439  & returned_time = returned_time, &
16440  & flag_time_exist = flag_time_exist, &
16441  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetreal7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal7pointertimer()

subroutine historygetreal7pointertimer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:,:), pointer  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 9074 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal7pointer(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

9074  use dc_string, only: tochar, split
9075  use dc_types, only: string, dp, sp
9076  use dc_trace, only: dbgmessage
9077  use dc_url, only: url_chop_iorange, gt_equal
9078  use dc_present, only: present_and_true
9079  implicit none
9080  character(*), intent(in):: file, varname
9081  real(SP), intent(in):: time
9082  logical, intent(in), optional:: quiet
9083  real(SP), pointer :: array(:,:,:,:,:,:,:)
9084  logical, intent(in), optional:: flag_mpi_split
9085  real(DP), intent(out), optional:: returned_time
9086  logical, intent(out), optional:: flag_time_exist
9087  logical, intent(out), optional:: err
9088  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
9089  character(STRING), pointer:: carray (:)
9090  character(STRING):: tname
9091  character(*), parameter :: subname = "HistoryGetReal7TimeR"
9092  interface
9093  subroutine historygetreal7pointer(&
9094  & file, varname, array, range, quiet, &
9095  & flag_mpi_split, returned_time, flag_time_exist, err)
9096  use dc_types, only: dp, sp
9097  character(*), intent(in):: file
9098  character(*), intent(in):: varname
9099  character(*), intent(in), optional:: range
9100  logical, intent(in), optional:: quiet
9101  logical, intent(in), optional:: flag_mpi_split
9102  real(DP), intent(out), optional:: returned_time
9103  logical, intent(out), optional:: flag_time_exist
9104  logical, intent(out), optional:: err
9105  real(SP), pointer :: array(:,:,:,:,:,:,:)
9106  end subroutine historygetreal7pointer
9107  end interface
9108  interface
9109  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
9110  character(*), intent(in):: file
9111  character(*), intent(in):: varname
9112  character(*), intent(out):: url
9113  character(*), intent(in), optional:: range
9114  logical, intent(out), optional:: flag_time_exist
9115  character(*), intent(out), optional:: time_name
9116  logical, intent(out), optional:: err
9117  end subroutine lookup_growable_url
9118  end interface
9119  interface
9120  function file_rename_mpi( file ) result(result)
9121  use dc_types, only: string
9122  character(*), intent(in):: file
9123  character(STRING):: result
9124  end function file_rename_mpi
9125  end interface
9126  continue
9127  file_work = file
9128  if ( present_and_true( flag_mpi_split ) ) &
9129  & file_work = file_rename_mpi( file_work )
9130  call lookup_growable_url(file = file_work, varname = varname, &
9131  & url = url, &
9132  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
9133  call url_chop_iorange( &
9134  & fullname = url, iorange = iorange, remainder = remainder )
9135  call split( str = iorange, carray = carray, sep = gt_equal )
9136  timevar_name = carray(1)
9137  deallocate( carray )
9138  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
9139  call historygetreal7pointer( file = file, &
9140  & varname = varname, array = array, &
9141  & range = time_range, quiet = quiet, &
9142  & flag_mpi_split = flag_mpi_split, &
9143  & returned_time = returned_time, &
9144  & flag_time_exist = flag_time_exist, &
9145  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
subroutine historygetreal7pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal7timed()

subroutine historygetreal7timed ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:,:), intent(out)  array,
real(dp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 12114 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

12114  use dc_string, only: tochar, split
12115  use dc_types, only: string, dp, sp
12116  use dc_trace, only: dbgmessage
12117  use dc_url, only: url_chop_iorange, gt_equal
12118  use dc_present, only: present_and_true
12119  implicit none
12120  character(*), intent(in):: file, varname
12121  real(DP), intent(in):: time
12122  logical, intent(in), optional:: quiet
12123  real(SP), intent(out) :: array(:,:,:,:,:,:,:)
12124  logical, intent(in), optional:: flag_mpi_split
12125  real(DP), intent(out), optional:: returned_time
12126  logical, intent(out), optional:: flag_time_exist
12127  logical, intent(out), optional:: err
12128  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
12129  character(STRING), pointer:: carray (:)
12130  character(STRING):: tname
12131  character(*), parameter :: subname = "HistoryGetReal7TimeD"
12132  interface
12133  subroutine historygetreal7(&
12134  & file, varname, array, range, quiet, &
12135  & flag_mpi_split, returned_time, flag_time_exist, err)
12136  use dc_types, only: dp, sp
12137  character(*), intent(in):: file
12138  character(*), intent(in):: varname
12139  character(*), intent(in), optional:: range
12140  logical, intent(in), optional:: quiet
12141  logical, intent(in), optional:: flag_mpi_split
12142  real(DP), intent(out), optional:: returned_time
12143  logical, intent(out), optional:: flag_time_exist
12144  logical, intent(out), optional:: err
12145  real(SP), intent(out) :: array(:,:,:,:,:,:,:)
12146  end subroutine historygetreal7
12147  end interface
12148  interface
12149  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
12150  character(*), intent(in):: file
12151  character(*), intent(in):: varname
12152  character(*), intent(out):: url
12153  character(*), intent(in), optional:: range
12154  logical, intent(out), optional:: flag_time_exist
12155  character(*), intent(out), optional:: time_name
12156  logical, intent(out), optional:: err
12157  end subroutine lookup_growable_url
12158  end interface
12159  interface
12160  function file_rename_mpi( file ) result(result)
12161  use dc_types, only: string
12162  character(*), intent(in):: file
12163  character(STRING):: result
12164  end function file_rename_mpi
12165  end interface
12166  continue
12167  file_work = file
12168  if ( present_and_true( flag_mpi_split ) ) &
12169  & file_work = file_rename_mpi( file_work )
12170  call lookup_growable_url(file = file_work, varname = varname, &
12171  & url = url, &
12172  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
12173  call url_chop_iorange( &
12174  & fullname = url, iorange = iorange, remainder = remainder )
12175  call split( str = iorange, carray = carray, sep = gt_equal )
12176  timevar_name = carray(1)
12177  deallocate( carray )
12178  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
12179  call historygetreal7( file = file, &
12180  & varname = varname, array = array, &
12181  & range = time_range, quiet = quiet, &
12182  & flag_mpi_split = flag_mpi_split, &
12183  & returned_time = returned_time, &
12184  & flag_time_exist = flag_time_exist, &
12185  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal7timei()

subroutine historygetreal7timei ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:,:), intent(out)  array,
integer, intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 15762 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

15762  use dc_string, only: tochar, split
15763  use dc_types, only: string, dp, sp
15764  use dc_trace, only: dbgmessage
15765  use dc_url, only: url_chop_iorange, gt_equal
15766  use dc_present, only: present_and_true
15767  implicit none
15768  character(*), intent(in):: file, varname
15769  integer, intent(in):: time
15770  logical, intent(in), optional:: quiet
15771  real(SP), intent(out) :: array(:,:,:,:,:,:,:)
15772  logical, intent(in), optional:: flag_mpi_split
15773  real(DP), intent(out), optional:: returned_time
15774  logical, intent(out), optional:: flag_time_exist
15775  logical, intent(out), optional:: err
15776  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
15777  character(STRING), pointer:: carray (:)
15778  character(STRING):: tname
15779  character(*), parameter :: subname = "HistoryGetReal7TimeI"
15780  interface
15781  subroutine historygetreal7(&
15782  & file, varname, array, range, quiet, &
15783  & flag_mpi_split, returned_time, flag_time_exist, err)
15784  use dc_types, only: dp, sp
15785  character(*), intent(in):: file
15786  character(*), intent(in):: varname
15787  character(*), intent(in), optional:: range
15788  logical, intent(in), optional:: quiet
15789  logical, intent(in), optional:: flag_mpi_split
15790  real(DP), intent(out), optional:: returned_time
15791  logical, intent(out), optional:: flag_time_exist
15792  logical, intent(out), optional:: err
15793  real(SP), intent(out) :: array(:,:,:,:,:,:,:)
15794  end subroutine historygetreal7
15795  end interface
15796  interface
15797  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
15798  character(*), intent(in):: file
15799  character(*), intent(in):: varname
15800  character(*), intent(out):: url
15801  character(*), intent(in), optional:: range
15802  logical, intent(out), optional:: flag_time_exist
15803  character(*), intent(out), optional:: time_name
15804  logical, intent(out), optional:: err
15805  end subroutine lookup_growable_url
15806  end interface
15807  interface
15808  function file_rename_mpi( file ) result(result)
15809  use dc_types, only: string
15810  character(*), intent(in):: file
15811  character(STRING):: result
15812  end function file_rename_mpi
15813  end interface
15814  continue
15815  file_work = file
15816  if ( present_and_true( flag_mpi_split ) ) &
15817  & file_work = file_rename_mpi( file_work )
15818  call lookup_growable_url(file = file_work, varname = varname, &
15819  & url = url, &
15820  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
15821  call url_chop_iorange( &
15822  & fullname = url, iorange = iorange, remainder = remainder )
15823  call split( str = iorange, carray = carray, sep = gt_equal )
15824  timevar_name = carray(1)
15825  deallocate( carray )
15826  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
15827  call historygetreal7( file = file, &
15828  & varname = varname, array = array, &
15829  & range = time_range, quiet = quiet, &
15830  & flag_mpi_split = flag_mpi_split, &
15831  & returned_time = returned_time, &
15832  & flag_time_exist = flag_time_exist, &
15833  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ historygetreal7timer()

subroutine historygetreal7timer ( character(*), intent(in)  file,
character(*), intent(in)  varname,
real(sp), dimension(:,:,:,:,:,:,:), intent(out)  array,
real(sp), intent(in)  time,
logical, intent(in), optional  quiet,
logical, intent(in), optional  flag_mpi_split,
real(dp), intent(out), optional  returned_time,
logical, intent(out), optional  flag_time_exist,
logical, intent(out), optional  err 
)

Definition at line 8466 of file historyget.f90.

References dc_trace::dbgmessage(), dc_types::dp, file_rename_mpi(), dc_url::gt_equal, historygetreal7(), lookup_growable_url(), dc_present::present_and_true(), dc_types::sp, dc_types::string, and dc_url::url_chop_iorange().

8466  use dc_string, only: tochar, split
8467  use dc_types, only: string, dp, sp
8468  use dc_trace, only: dbgmessage
8469  use dc_url, only: url_chop_iorange, gt_equal
8470  use dc_present, only: present_and_true
8471  implicit none
8472  character(*), intent(in):: file, varname
8473  real(SP), intent(in):: time
8474  logical, intent(in), optional:: quiet
8475  real(SP), intent(out) :: array(:,:,:,:,:,:,:)
8476  logical, intent(in), optional:: flag_mpi_split
8477  real(DP), intent(out), optional:: returned_time
8478  logical, intent(out), optional:: flag_time_exist
8479  logical, intent(out), optional:: err
8480  character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
8481  character(STRING), pointer:: carray (:)
8482  character(STRING):: tname
8483  character(*), parameter :: subname = "HistoryGetReal7TimeR"
8484  interface
8485  subroutine historygetreal7(&
8486  & file, varname, array, range, quiet, &
8487  & flag_mpi_split, returned_time, flag_time_exist, err)
8488  use dc_types, only: dp, sp
8489  character(*), intent(in):: file
8490  character(*), intent(in):: varname
8491  character(*), intent(in), optional:: range
8492  logical, intent(in), optional:: quiet
8493  logical, intent(in), optional:: flag_mpi_split
8494  real(DP), intent(out), optional:: returned_time
8495  logical, intent(out), optional:: flag_time_exist
8496  logical, intent(out), optional:: err
8497  real(SP), intent(out) :: array(:,:,:,:,:,:,:)
8498  end subroutine historygetreal7
8499  end interface
8500  interface
8501  subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
8502  character(*), intent(in):: file
8503  character(*), intent(in):: varname
8504  character(*), intent(out):: url
8505  character(*), intent(in), optional:: range
8506  logical, intent(out), optional:: flag_time_exist
8507  character(*), intent(out), optional:: time_name
8508  logical, intent(out), optional:: err
8509  end subroutine lookup_growable_url
8510  end interface
8511  interface
8512  function file_rename_mpi( file ) result(result)
8513  use dc_types, only: string
8514  character(*), intent(in):: file
8515  character(STRING):: result
8516  end function file_rename_mpi
8517  end interface
8518  continue
8519  file_work = file
8520  if ( present_and_true( flag_mpi_split ) ) &
8521  & file_work = file_rename_mpi( file_work )
8522  call lookup_growable_url(file = file_work, varname = varname, &
8523  & url = url, &
8524  & flag_time_exist = flag_time_exist, time_name = tname, err = err)
8525  call url_chop_iorange( &
8526  & fullname = url, iorange = iorange, remainder = remainder )
8527  call split( str = iorange, carray = carray, sep = gt_equal )
8528  timevar_name = carray(1)
8529  deallocate( carray )
8530  time_range = trim(timevar_name) // gt_equal // trim(tochar(time))
8531  call historygetreal7( file = file, &
8532  & varname = varname, array = array, &
8533  & range = time_range, quiet = quiet, &
8534  & flag_mpi_split = flag_mpi_split, &
8535  & returned_time = returned_time, &
8536  & flag_time_exist = flag_time_exist, &
8537  & err = err )
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine lookup_growable_url(file, varname, url, range, flag_time_exist, time_name, err)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public url_chop_iorange(fullname, iorange, remainder)
Definition: dc_url.f90:201
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
character(string) function file_rename_mpi(file)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine historygetreal7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:

◆ lookup_growable_url()

subroutine lookup_growable_url ( character(*), intent(in)  file,
character(*), intent(in)  varname,
character(*), intent(out)  url,
character(*), intent(in), optional  range,
logical, intent(out), optional  flag_time_exist,
character(*), intent(out), optional  time_name,
logical, intent(out), optional  err 
)

Definition at line 17664 of file historyget.f90.

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_noerr, dc_types::dp, dc_trace::endsub(), dc_url::gt_circumflex, dc_url::gt_comma, dc_error::gt_ebadgt4commagraphy, dc_error::gt_enotvar, dc_error::gt_enounlimitdim, dc_url::gt_equal, dc_regex::match(), dc_present::present_and_not_empty(), dc_present::present_and_true(), dc_error::storeerror(), and dc_types::string.

Referenced by historygetdouble0(), historygetdouble0pointer(), historygetdouble0pointertimed(), historygetdouble0pointertimei(), historygetdouble0pointertimer(), historygetdouble0timed(), historygetdouble0timei(), historygetdouble0timer(), historygetdouble1(), historygetdouble1pointer(), historygetdouble1pointertimed(), historygetdouble1pointertimei(), historygetdouble1pointertimer(), historygetdouble1timed(), historygetdouble1timei(), historygetdouble1timer(), historygetdouble2(), historygetdouble2pointer(), historygetdouble2pointertimed(), historygetdouble2pointertimei(), historygetdouble2pointertimer(), historygetdouble2timed(), historygetdouble2timei(), historygetdouble2timer(), historygetdouble3(), historygetdouble3pointer(), historygetdouble3pointertimed(), historygetdouble3pointertimei(), historygetdouble3pointertimer(), historygetdouble3timed(), historygetdouble3timei(), historygetdouble3timer(), historygetdouble4(), historygetdouble4pointer(), historygetdouble4pointertimed(), historygetdouble4pointertimei(), historygetdouble4pointertimer(), historygetdouble4timed(), historygetdouble4timei(), historygetdouble4timer(), historygetdouble5(), historygetdouble5pointer(), historygetdouble5pointertimed(), historygetdouble5pointertimei(), historygetdouble5pointertimer(), historygetdouble5timed(), historygetdouble5timei(), historygetdouble5timer(), historygetdouble6(), historygetdouble6pointer(), historygetdouble6pointertimed(), historygetdouble6pointertimei(), historygetdouble6pointertimer(), historygetdouble6timed(), historygetdouble6timei(), historygetdouble6timer(), historygetdouble7(), historygetdouble7pointer(), historygetdouble7pointertimed(), historygetdouble7pointertimei(), historygetdouble7pointertimer(), historygetdouble7timed(), historygetdouble7timei(), historygetdouble7timer(), historygetint0(), historygetint0pointer(), historygetint0pointertimed(), historygetint0pointertimei(), historygetint0pointertimer(), historygetint0timed(), historygetint0timei(), historygetint0timer(), historygetint1(), historygetint1pointer(), historygetint1pointertimed(), historygetint1pointertimei(), historygetint1pointertimer(), historygetint1timed(), historygetint1timei(), historygetint1timer(), historygetint2(), historygetint2pointer(), historygetint2pointertimed(), historygetint2pointertimei(), historygetint2pointertimer(), historygetint2timed(), historygetint2timei(), historygetint2timer(), historygetint3(), historygetint3pointer(), historygetint3pointertimed(), historygetint3pointertimei(), historygetint3pointertimer(), historygetint3timed(), historygetint3timei(), historygetint3timer(), historygetint4(), historygetint4pointer(), historygetint4pointertimed(), historygetint4pointertimei(), historygetint4pointertimer(), historygetint4timed(), historygetint4timei(), historygetint4timer(), historygetint5(), historygetint5pointer(), historygetint5pointertimed(), historygetint5pointertimei(), historygetint5pointertimer(), historygetint5timed(), historygetint5timei(), historygetint5timer(), historygetint6(), historygetint6pointer(), historygetint6pointertimed(), historygetint6pointertimei(), historygetint6pointertimer(), historygetint6timed(), historygetint6timei(), historygetint6timer(), historygetint7(), historygetint7pointer(), historygetint7pointertimed(), historygetint7pointertimei(), historygetint7pointertimer(), historygetint7timed(), historygetint7timei(), historygetint7timer(), historygetreal0(), historygetreal0pointer(), historygetreal0pointertimed(), historygetreal0pointertimei(), historygetreal0pointertimer(), historygetreal0timed(), historygetreal0timei(), historygetreal0timer(), historygetreal1(), historygetreal1pointer(), historygetreal1pointertimed(), historygetreal1pointertimei(), historygetreal1pointertimer(), historygetreal1timed(), historygetreal1timei(), historygetreal1timer(), historygetreal2(), historygetreal2pointer(), historygetreal2pointertimed(), historygetreal2pointertimei(), historygetreal2pointertimer(), historygetreal2timed(), historygetreal2timei(), historygetreal2timer(), historygetreal3(), historygetreal3pointer(), historygetreal3pointertimed(), historygetreal3pointertimei(), historygetreal3pointertimer(), historygetreal3timed(), historygetreal3timei(), historygetreal3timer(), historygetreal4(), historygetreal4pointer(), historygetreal4pointertimed(), historygetreal4pointertimei(), historygetreal4pointertimer(), historygetreal4timed(), historygetreal4timei(), historygetreal4timer(), historygetreal5(), historygetreal5pointer(), historygetreal5pointertimed(), historygetreal5pointertimei(), historygetreal5pointertimer(), historygetreal5timed(), historygetreal5timei(), historygetreal5timer(), historygetreal6(), historygetreal6pointer(), historygetreal6pointertimed(), historygetreal6pointertimei(), historygetreal6pointertimer(), historygetreal6timed(), historygetreal6timei(), historygetreal6timer(), historygetreal7(), historygetreal7pointer(), historygetreal7pointertimed(), historygetreal7pointertimei(), historygetreal7pointertimer(), historygetreal7timed(), historygetreal7timei(), and historygetreal7timer().

17664  !
17665  ! file の変数 varname が依存する次元の内, 時間の次元
17666  ! (growable == .TRUE. のもの, つまり無制限次元) の変数名,
17667  ! およびその最後の値を取得し, gtool 変数化
17668  ! ("file@varname,time=10.5" みたいな) して返す.
17669  !
17670  ! * もしも varname が次元変数である場合は「time=」を付けずに返す.
17671  ! * range を与えた場合, 以下のチェックを行った後, それを gtool4
17672  ! 変数の iorange 部分に付加する.
17673  ! * range に空文字が与えられた場合, range が与えられない場合と
17674  ! 同じ動作をする.
17675  ! * range 内に時間次元が設定されていない場合は, 自動的に
17676  ! 時間次元に関する iorange ("time=0.5") が指定される.
17677  ! * 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
17678  ! エラーを生じる.
17679  !
17680  ! *flag_time_exist* が与えられる場合には, 得られるデータに
17681  ! 時刻次元が含まれる場合には .true. を, 含まれない場合は
17682  ! .false. を返す.
17683  ! *time_name* が与えられる場合には, 得られるデータに
17684  ! 時刻次元が含まれる場合にはその時刻次元変数名を,
17685  ! 含まれない場合には空文字を返す.
17686  !
17687  use gtdata_types, only: gt_variable
17688  use gtdata_generic, only: open, close, inquire
17690  use dc_string, only: tochar
17692  & nf90_einval, gt_enotvar, gt_ebadgt4commagraphy
17693  use dc_url, only: gt_circumflex, gt_comma, gt_equal
17695  use dc_regex, only: match
17696  use dc_types, only: dp, string
17697  use dc_trace, only: beginsub, endsub, dbgmessage
17698  character(*), intent(in) :: file ! ファイル名
17699  character(*), intent(in) :: varname ! 変数名
17700  character(*), intent(out) :: url ! gtool変数化した文字列
17701  character(*), intent(in), optional:: range ! 範囲限定や一点切り出し指定
17702  logical, intent(out), optional:: flag_time_exist ! 時刻次元の存在の有無
17703  character(*), intent(out), optional:: time_name ! 時刻次元の名称
17704  logical, intent(out), optional :: err ! エラーのフラグ
17705  !
17706  type(gt_variable) :: var
17707  type(gt_variable), allocatable :: dimvar(:)
17708  character(STRING) :: time_url, tname, time_iorange
17709  character(STRING) :: iorange, cause_c
17710  logical:: growable, nounlimited
17711  integer:: allcount, timecount, nd, i, stat
17712  integer:: regex_stat, regex_len
17713  character(*), parameter :: subname = "lookup_growable_url"
17714 continue
17715  call beginsub(subname, '<file=%c varname=%c range=%c>', &
17716  & c1=trim(file), c2=trim(varname), &
17717  & c3=trim(present_select('', 'no-range', range)))
17718  stat = dc_noerr
17719  cause_c = ""
17720  url = ""
17721  ! 引数の正当性をチェック
17722  if (.not. present_and_not_empty(file)) then
17723  stat = nf90_einval
17724  cause_c = '"file" is not specified'
17725  goto 999
17726  elseif (.not. present_and_not_empty(varname)) then
17727  stat = nf90_einval
17728  cause_c = '"varname" is not specified'
17729  goto 999
17730  end if
17731  ! 時刻次元の変数名, およびその最終時刻の
17732  ! 探査のために file@varname を open (まだデータを取得しない)
17733  call open(var, urlmerge(file, varname), err = err)
17734  if ( present_and_true(err) ) then
17735  stat = gt_enotvar
17736  goto 999
17737  end if
17738  ! 次元の数を取得
17739  call inquire(var=var, alldims=nd)
17740  call dbgmessage('@ alldims = %d', i=(/nd/))
17741  if (allocated(dimvar)) then
17742  deallocate(dimvar)
17743  end if
17744  allocate(dimvar(nd))
17745  !
17746  ! 変数が無制限変数を持たない場合, もしくは変数自体が
17747  ! 無制限次元変数である場合には, それに関する iorange を
17748  ! 付けないで返すよう, フラグを立てる.
17749  ! それ以外は .false. にする.
17750  nounlimited = .true.
17751  !
17752  ! 各次元毎に情報を取得し, growable == .TRUE. のもの (つまりは時間)
17753  ! の変数名 (tname) を取得する.
17754  call dbgmessage('[%c: growable-dim-search]', c1=trim(subname))
17755  tname = ''
17756  do, i = 1, nd
17757  call open(var = dimvar(i), & ! (out)
17758  & source_var = var, dimord = i, & ! (in)
17759  & count_compact = .true., & ! (in)
17760  & err = err) ! (out) optional
17761  ! まずは変数入り gtool4 変数を time_url に取得
17762  call inquire(var = dimvar(i), & ! (in)
17763  & growable = growable, & ! (out)
17764  & allcount = allcount, url = time_url) ! (out)
17765  call dbgmessage(' [dim=d>: growable=<%y>: url=<%c>]', &
17766  & i = (/i/), l = (/growable/), c1 = trim(time_url))
17767  ! 変数部分だけ分離
17768  call urlsplit( fullname = time_url, & ! (in)
17769  & var = tname) ! (out)
17770  ! 無制限次元で, かつ開こうとする変数自体が無制限次元でない場合
17771  !
17772  if ( growable .and. trim(tname) /= trim(varname) ) then
17773  ! 総数 = 最後の数を timecount に
17774  !
17775  timecount = allcount
17776  nounlimited = .false.
17777  endif
17778  call close(dimvar(i))
17779  ! 時刻次元が見つかった場合にはループを抜ける
17780  !
17781  if ( .not. nounlimited ) then
17782  exit
17783  ! 時刻次元ではない場合, tname を空に
17784  !
17785  else
17786  tname = ''
17787  end if
17788  end do
17789  ! 探査を終了したので閉じる
17790  call close(var)
17791  if (stat /= dc_noerr) then
17792  goto 999
17793  end if
17794  ! 時刻次元名を返す
17795  !
17796  if ( present(time_name) ) time_name = tname
17797  ! 時刻部分の iorange を作成しておく.
17798  ! 格子点情報で取得されているので, 頭に "^" を付加する.
17799  if (nounlimited) then
17800  time_iorange = ''
17801  if ( present(flag_time_exist) ) flag_time_exist = .false.
17802 !!$ if ( present(returned_time) ) returned_time = 0.
17803  else
17804  time_iorange = trim(tname) // gt_equal // &
17805  & gt_circumflex // adjustl(tochar(timecount))
17806  if ( present(flag_time_exist) ) flag_time_exist = .true.
17807 !!$ if ( present(returned_time) ) then
17808 !!$ returned_time =
17809 !!$ end if
17810  end if
17811  ! iorange を指定する.
17812  ! 時刻に関しては, range が存在しない場合には
17813  ! 自動取得した最後の時刻を付加する.
17814  ! range が存在する場合, "=" が含まれなければ, gtool4 のコンマ記法
17815  ! として不適切としてエラーを生じる.
17816  ! "=" が含まれる場合, iorange としてそのまま iorange になる.
17817  ! ただし, その iorange に時刻次元が含まれない場合,
17818  ! やはり先ほど自動取得した値が付加される.
17819  ! 当然, 時刻次元が存在しない場合には付加しない.
17820  if (.not. present_and_not_empty(range)) then
17821  iorange = time_iorange
17822  else
17823  ! range がコンマ記法になっているか, "=" があるかどうかで調べる
17824  call match(gt_equal, range, regex_len, regex_stat)
17825  ! コンマ記法になってない場合は無制限次元の値と判定
17826  if (regex_stat < 0) then
17827  cause_c = range
17828  stat = gt_ebadgt4commagraphy
17829  goto 999
17830 !!$ iorange = trim(tname) // GT_EQUAL // adjustl(range)
17831  else
17832  ! コンマ記法になっている場合, まずその中に無制限次元が
17833  ! 存在しているか調べ, 存在してない場合のみ time_iorange を
17834  ! 付加する.
17835  if (trim(urlsearchiorange(range, tname)) /= "") then
17836  iorange = range
17837  else
17838  if (trim(time_iorange) /= "") then
17839  iorange = range // gt_comma // time_iorange
17840  else
17841  iorange = range
17842  end if
17843  end if
17844  end if
17845  endif
17846  call dbgmessage('@ iorange=%c', c1=trim(iorange))
17847  ! file, varname, iorange を gtool変数化
17848  ! (「file@varname,time=10.5」のように)
17849  url = urlmerge(file, varname, '', iorange)
17850 999 continue
17851  call storeerror(stat, subname, err, cause_c)
17852  call endsub(subname, '<url=%c>', c1=trim(url))
character, parameter, public gt_comma
Definition: dc_url.f90:85
integer, parameter, public gt_ebadgt4commagraphy
Definition: dc_error.f90:547
integer, parameter, public gt_enotvar
Definition: dc_error.f90:533
character, parameter, public gt_equal
Definition: dc_url.f90:87
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
シンプルな正規表現関数 &#39;match&#39; を提供します.
Definition: dc_regex.f90:16
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public match(pattern, text, start, length)
Definition: dc_regex.f90:267
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
logical function, public present_and_not_empty(arg)
Definition: dc_present.f90:276
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
Definition: dc_trace.f90:351
character, parameter, public gt_circumflex
Definition: dc_url.f90:89
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:446
integer, parameter, public gt_enounlimitdim
Definition: dc_error.f90:541
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function: