psmile_extent_subgrid_1d_real.F90
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 subroutine psmile_extent_subgrid_1d_real ( &
00012 array, idlow, idhigh, nbr_corners, &
00013 ibeg, iend, &
00014 extent, ierror)
00015
00016
00017
00018 use PRISM_constants
00019
00020 use PSMILe, dummy_interface => PSMILe_Extent_Subgrid_1d_real
00021
00022 implicit none
00023
00024
00025
00026 Integer, Intent (In) :: idlow, idhigh, nbr_corners
00027
00028
00029
00030 Real, Intent (In) :: array (idlow:idhigh, nbr_corners)
00031
00032
00033
00034
00035 Integer, Intent (In) :: ibeg, iend
00036
00037
00038
00039
00040
00041
00042 Real, Intent (Out) :: extent (2)
00043
00044
00045
00046 Integer, Intent (Out) :: ierror
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 Character(len=len_cvs_string), save :: mycvs =
00069 '$Id: psmile_extent_subgrid_1d_real.F90 2325 2010-04-21 15:00:07Z valcke $'
00070
00071
00072
00073 #ifdef VERBOSE
00074 print *, trim(ch_id), ': PSMILe_Extent_Subgrid_1d_real'
00075
00076 call psmile_flushstd
00077 #endif /* VERBOSE */
00078
00079
00080
00081 ierror = 0
00082
00083
00084
00085 if (ibeg == idlow .and. iend == idhigh) then
00086 extent (1) = MINVAL (array)
00087 extent (2) = MAXVAL (array)
00088
00089 else
00090
00091 extent (1) = MINVAL (array (ibeg:iend, 1:nbr_corners))
00092 extent (2) = MAXVAL (array (ibeg:iend, 1:nbr_corners))
00093 endif
00094
00095
00096
00097 #ifdef VERBOSE
00098 print *, trim(ch_id), ': PSMILe_Extent_Subgrid_1d_real eof', &
00099 ': ierror =', ierror
00100
00101 call psmile_flushstd
00102 #endif /* VERBOSE */
00103
00104 end subroutine PSMILe_Extent_Subgrid_1d_real