Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 31 additions & 46 deletions lis/core/LIS_PFIO_historyMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -134,19 +134,15 @@ subroutine LIS_PFIO_create_file_metadata(n, PFIOmodel_idx, outInterval, &
!
! !LOCAL VARIABLES:
Type(Variable) :: v

integer :: dimID(4)
integer :: tdimID,xtimeID,ensID
integer :: t,c,r,i,index1
real, allocatable :: ensval(:)
character(len=8) :: xtime_begin_date
character(len=6) :: xtime_begin_time
character(len=50) :: xtime_units
character(len=50) :: xtime_timeInc
integer :: iret
integer :: group_
character(len=100) :: model_name_
integer :: status, gindex
integer :: status
! Note that the fix to add lat/lon to the NETCDF output will output
! undefined values for the water points.
character(len=8) :: date
Expand Down Expand Up @@ -463,19 +459,15 @@ subroutine LIS_PFIO_create_routing_metadata(n, PFIOmodel_idx, group, outInterval
!
! !LOCAL VARIABLES:
Type(Variable) :: v

integer :: dimID(4)
integer :: tdimID,xtimeID,ensID
integer :: t,c,r,i,index1, m
real, allocatable :: ensval(:)
integer :: t,c,r,i, m
real, allocatable :: ensval(:)
character(len=8) :: xtime_begin_date
character(len=6) :: xtime_begin_time
character(len=50) :: xtime_units
character(len=50) :: xtime_timeInc
integer :: iret
integer :: group_
character(len=100) :: model_name_
integer :: status, gindex
integer :: status
! Note that the fix to add lat/lon to the NETCDF output will output
! undefined values for the water points.
character(len=8) :: date
Expand Down Expand Up @@ -775,16 +767,13 @@ subroutine PFIO_define_variable_header(n, PFIOmodel_idx, vcol_id, dataEntry, nam
!
! !LOCAL VARIABLES:
integer :: data_index
integer :: status, ierr
integer :: status
integer :: deflate_level
character(len=100) :: short_name
integer :: fill_value

character(len=100) :: vname_def, vname_opt1, vname_min, vname_max
character(len=256) :: dim_names
Type(Variable) :: v_def, v_opt1, v_min, v_max
REAL :: vmin
REAL :: vmax
integer :: nmodel_status
!EOP
!------------------------------------------------------------------------------
Expand Down Expand Up @@ -1123,7 +1112,7 @@ subroutine LIS_PFIO_write_data(n, PFIOmodel_idx, vcol_id, file_name, outInterval
!
! !LOCAL VARIABLES:
real :: time_data(1)
integer :: i,k,m,t, group_, status, rc
integer :: i, group_, status
character(len=8) :: xtime_begin_date
character(len=6) :: xtime_begin_time
character(len=50) :: xtime_units
Expand All @@ -1139,9 +1128,7 @@ subroutine LIS_PFIO_write_data(n, PFIOmodel_idx, vcol_id, file_name, outInterval
type(local_3Dfield_var), allocatable :: local_var3D(:)
type(local_4Dfield_var), allocatable :: local_var4D(:)
integer :: i1, i2, j1, j2
type(ArrayReference) :: ref
integer :: global_dim(2)
integer :: r, c, index1
!EOP
!---------------------------------------------------------------------------------------------
!BOC
Expand Down Expand Up @@ -1299,7 +1286,7 @@ subroutine PFIO_write_variable(n, PFIOmodel_idx, vcol_id, dataEntry, file_name,
! \end{description}
!
! !LOCAL VARIABLES:
integer :: i,k,m,t, nlev
integer :: k,m,t, nlev
character(len=90) :: var_name
character(len=90) :: var_name2
integer :: nmodel_status
Expand Down Expand Up @@ -1341,6 +1328,8 @@ subroutine PFIO_write_variable(n, PFIOmodel_idx, vcol_id, dataEntry, file_name,
var_name = trim(dataEntry%short_name)//'_inst'
CASE(1)
var_name = trim(dataEntry%short_name)//'_tavg'
CASE(2)
var_name = trim(dataEntry%short_name)
CASE(3)
var_name = trim(dataEntry%short_name)//'_acc'
END SELECT
Expand All @@ -1353,14 +1342,14 @@ subroutine PFIO_write_variable(n, PFIOmodel_idx, vcol_id, dataEntry, file_name,
nlev = dataEntry%vlevels
if (dataEntry%timeAvgOpt.eq.2) then
CALL increment_field_counter()
var_name = trim(dataEntry%short_name)//"_tavg"
var_name2 = trim(var_name)//"_tavg"
call PFIO_write_single_var(n, PFIOmodel_idx, vcol_id, TRIM(file_name), &
dataEntry%modelOutput(1,:,1:nlev), &
var_name, local_var2D, local_var3D, local_var4D, &
var_name2, local_var2D, local_var3D, local_var4D, &
i1, i2, j1, j2, nlev, nmodel_status)

CALL increment_field_counter()
var_name2 = trim(dataEntry%short_name)//"_inst"
var_name2 = trim(var_name)//"_inst"
call PFIO_write_single_var(n, PFIOmodel_idx, vcol_id, TRIM(file_name), &
dataEntry%modelOutput(2,:,1:nlev), &
var_name2, local_var2D, local_var3D, local_var4D, &
Expand All @@ -1376,14 +1365,14 @@ subroutine PFIO_write_variable(n, PFIOmodel_idx, vcol_id, dataEntry, file_name,
end if
if (dataEntry%minmaxOpt.gt.0) then
CALL increment_field_counter()
var_name2 = trim(dataEntry%short_name)//"_min"
var_name2 = trim(var_name)//"_min"
call PFIO_write_single_var(n, PFIOmodel_idx, vcol_id, TRIM(file_name), &
dataEntry%minimum(:,1:nlev), &
var_name2, local_var2D, local_var3D, local_var4D, &
i1, i2, j1, j2, nlev, nmodel_status)

CALL increment_field_counter()
var_name2 = trim(dataEntry%short_name)//"_max"
var_name2 = trim(var_name)//"_max"
call PFIO_write_single_var(n, PFIOmodel_idx, vcol_id, TRIM(file_name), &
dataEntry%maximum(:,1:nlev), &
var_name2, local_var2D, local_var3D, local_var4D, &
Expand Down Expand Up @@ -1437,16 +1426,14 @@ subroutine PFIO_write_single_var(n, PFIOmodel_idx, vcol_id, file_name, var_data,
! \end{description}
!
! !LOCAL VARIABLES:
integer :: l, iret
integer :: l
integer :: global_dim(2)
real :: vmean,vstdev,vmin,vmax
real, allocatable :: var1(:,:)
real, allocatable :: loclat(:)
real, allocatable :: loclon(:)
real, allocatable :: var1_ens(:,:,:)
integer :: count1 ,c,r,m,gid,ntiles,ierr,i,t
integer :: ews_ind, nss_ind
integer :: idx2, idx3, idx4, gindex
integer :: c,r,m,i,t
integer :: gindex
type(ArrayReference) :: ref
!EOP
!------------------------------------------------------------------------------
Expand Down Expand Up @@ -1669,7 +1656,7 @@ subroutine LIS_PFIO_write_routingdata(n, PFIOmodel_idx, vcol_id, file_name, outI
!
! !LOCAL VARIABLES:
real :: time_data(1)
integer :: i,k,m,t, group_, status, rc
integer :: i, group_, status
character(len=8) :: xtime_begin_date
character(len=6) :: xtime_begin_time
character(len=50) :: xtime_units
Expand All @@ -1685,9 +1672,7 @@ subroutine LIS_PFIO_write_routingdata(n, PFIOmodel_idx, vcol_id, file_name, outI
type(local_3Dfield_var), allocatable :: local_var3D(:)
type(local_4Dfield_var), allocatable :: local_var4D(:)
integer :: i1, i2, j1, j2
type(ArrayReference) :: ref
integer :: global_dim(2)
integer :: r, c, index1
!EOP
!---------------------------------------------------------------------------------------------
!BOC
Expand Down Expand Up @@ -1827,7 +1812,7 @@ subroutine PFIO_write_routingvariable(n, PFIOmodel_idx, vcol_id, dataEntry, file
! \end{description}
!
! !LOCAL VARIABLES:
integer :: i,k,m,t, nlev
integer :: k,t, nlev
character(len=90) :: var_name
character(len=90) :: var_name2
integer :: nmodel_status
Expand Down Expand Up @@ -1865,6 +1850,8 @@ subroutine PFIO_write_routingvariable(n, PFIOmodel_idx, vcol_id, dataEntry, file
var_name = trim(dataEntry%short_name)//'_inst'
CASE(1)
var_name = trim(dataEntry%short_name)//'_tavg'
CASE(2)
var_name = trim(dataEntry%short_name)
CASE(3)
var_name = trim(dataEntry%short_name)//'_acc'
END SELECT
Expand All @@ -1877,14 +1864,14 @@ subroutine PFIO_write_routingvariable(n, PFIOmodel_idx, vcol_id, dataEntry, file
nlev = dataEntry%vlevels
if (dataEntry%timeAvgOpt.eq.2) then
CALL increment_field_counter()
var_name = trim(dataEntry%short_name)//"_tavg"
var_name2 = trim(var_name)//"_tavg"
call PFIO_write_single_routingvar(n, PFIOmodel_idx, vcol_id, TRIM(file_name), &
dataEntry%modelOutput(1,:,1:nlev), &
var_name, local_var2D, local_var3D, local_var4D, &
var_name2, local_var2D, local_var3D, local_var4D, &
i1, i2, j1, j2, nlev, nmodel_status)

CALL increment_field_counter()
var_name2 = trim(dataEntry%short_name)//"_inst"
var_name2 = trim(var_name)//"_inst"
call PFIO_write_single_routingvar(n, PFIOmodel_idx, vcol_id, TRIM(file_name), &
dataEntry%modelOutput(2,:,1:nlev), &
var_name2, local_var2D, local_var3D, local_var4D, &
Expand All @@ -1900,14 +1887,14 @@ subroutine PFIO_write_routingvariable(n, PFIOmodel_idx, vcol_id, dataEntry, file
end if
if (dataEntry%minmaxOpt.gt.0) then
CALL increment_field_counter()
var_name2 = trim(dataEntry%short_name)//"_min"
var_name2 = trim(var_name)//"_min"
call PFIO_write_single_routingvar(n, PFIOmodel_idx, vcol_id, TRIM(file_name), &
dataEntry%minimum(:,1:nlev), &
var_name2, local_var2D, local_var3D, local_var4D, &
i1, i2, j1, j2, nlev, nmodel_status)

CALL increment_field_counter()
var_name2 = trim(dataEntry%short_name)//"_max"
var_name2 = trim(var_name)//"_max"
call PFIO_write_single_routingvar(n, PFIOmodel_idx, vcol_id, TRIM(file_name), &
dataEntry%maximum(:,1:nlev), &
var_name2, local_var2D, local_var3D, local_var4D, &
Expand Down Expand Up @@ -1959,16 +1946,14 @@ subroutine PFIO_write_single_routingvar(n, PFIOmodel_idx, vcol_id, file_name, va
! \end{description}
!
! !LOCAL VARIABLES:
integer :: l, iret
integer :: l
integer :: global_dim(2)
real :: vmean,vstdev,vmin,vmax
real, allocatable :: var1(:,:)
real, allocatable :: loclat(:)
real, allocatable :: loclon(:)
real, allocatable :: var1_ens(:,:,:)
integer :: count1 ,c,r,m,gid,ntiles,ierr,i,t
integer :: ews_ind, nss_ind
integer :: idx2, idx3, idx4, gindex
integer :: c,r,m,i,t
integer :: gindex
type(ArrayReference) :: ref
!EOP
!------------------------------------------------------------------------------
Expand Down Expand Up @@ -2558,7 +2543,7 @@ subroutine map_1dtile_to_2darray(n, var_tile, var3d, i1, i2, j1, j2, nlev)
real, intent(in) :: var_tile(:,:)
real, intent(out) :: var3d(i1:i2,j1:j2, nlev)

integer :: r, c, t, peIdx
integer :: r, c, peIdx
integer :: ntiles, count1, gid

var3d = pfio_missing_value ! LIS_rc%udef
Expand Down Expand Up @@ -2626,7 +2611,7 @@ subroutine get_LIS_interior_tile(n, i1, i2)
integer, intent(in) :: n
integer, intent(out) :: i1, i2

integer :: r, c, l, i1_n, i2_n, ntiles, stid
integer :: r, c, l, i1_n, ntiles, stid
integer :: count1, gid, tid, mymin, mymax,t
logical :: first_time

Expand Down