diff --git a/fv3_cap.F90 b/fv3_cap.F90 index eaf20577f..ae22c82b4 100644 --- a/fv3_cap.F90 +++ b/fv3_cap.F90 @@ -74,7 +74,7 @@ module fv3gfs_cap_mod type(ESMF_GridComp) :: fcstComp type(ESMF_State) :: fcstState - character(len=80), allocatable :: fcstItemNameList(:) + character(len=esmf_maxstr),allocatable :: fcstItemNameList(:) type(ESMF_StateItem_Flag), allocatable :: fcstItemTypeList(:) type(ESMF_FieldBundle), allocatable :: fcstFB(:) integer, save :: FBCount diff --git a/io/module_fv3_io_def.F90 b/io/module_fv3_io_def.F90 index d039ccc73..f15161886 100644 --- a/io/module_fv3_io_def.F90 +++ b/io/module_fv3_io_def.F90 @@ -7,6 +7,7 @@ module module_fv3_io_def ! !------------------------------------------------------------------------ ! + use esmf, only : esmf_maxstr implicit none ! integer :: num_pes_fcst @@ -15,14 +16,14 @@ module module_fv3_io_def logical :: write_nemsioflip logical :: write_fsyncflag integer :: num_files - character(255) :: output_grid - character(255) :: output_file + character(len=esmf_maxstr) :: output_grid + character(len=esmf_maxstr) :: output_file integer :: imo,jmo integer :: nbdlphys integer :: nsout_io, iau_offset, ideflate, nbits real :: cen_lon, cen_lat, lon1, lat1, lon2, lat2, dlon, dlat real :: stdlat1, stdlat2, dx, dy - character(255),dimension(:),allocatable :: filename_base + character(len=esmf_maxstr),dimension(:),allocatable :: filename_base ! integer,dimension(:),allocatable :: lead_wrttask, last_wrttask ! diff --git a/io/module_wrt_grid_comp.F90 b/io/module_wrt_grid_comp.F90 index d0846be53..9449da701 100644 --- a/io/module_wrt_grid_comp.F90 +++ b/io/module_wrt_grid_comp.F90 @@ -56,7 +56,7 @@ module module_wrt_grid_comp ! !----------------------------------------------------------------------- ! - integer,parameter :: filename_maxstr=255 + real, parameter :: rdgas=287.04, grav=9.80 real, parameter :: stndrd_atmos_ps = 101325. real, parameter :: stndrd_atmos_lapse = 0.0065 @@ -77,7 +77,7 @@ module module_wrt_grid_comp type(wrt_internal_state),pointer :: wrt_int_state ! The internal state pointer. type(ESMF_FieldBundle) :: gridFB integer :: FBcount - character(len=80),allocatable :: fcstItemNameList(:) + character(len=esmf_maxstr),allocatable :: fcstItemNameList(:) ! !----------------------------------------------------------------------- REAL(KIND=8) :: btim,btim0 @@ -1155,7 +1155,7 @@ subroutine wrt_run(wrt_comp, imp_state_write, exp_state_write,clock,rc) logical,save :: first=.true. logical,save :: file_first=.true. ! - character(filename_maxstr) :: filename,compname,bundle_name + character(esmf_maxstr) :: filename,compname,bundle_name character(40) :: cfhour, cform character(10) :: stepString character(80) :: attrValueS diff --git a/module_fcst_grid_comp.F90 b/module_fcst_grid_comp.F90 index 9dfcbc751..91a2902b4 100644 --- a/module_fcst_grid_comp.F90 +++ b/module_fcst_grid_comp.F90 @@ -189,7 +189,8 @@ subroutine fcst_initialize(fcst_comp, importState, exportState, clock, rc) character(3) cfhour character(4) dateSY character(2) dateSM,dateSD,dateSH,dateSN,dateSS - character(128) name_FB, name_FB1, dateS + character(len=esmf_maxstr) name_FB, name_FB1 + character(len=80) :: dateS real, allocatable, dimension(:,:) :: glon_bnd, glat_bnd character(256) :: gridfile