According to an answer to a similar question, I have declared the characters as indicated here gfortran does not allow character arrays with varying component lengths . However I would like to use a trim function because I need to add spaces to manually pad the names and these variables are then used in another part of the code. Can I trim at the same time as creating the array?
Error: Different CHARACTER lengths (3/4) in array constructor at (1)
If I add random characters to make them the same length it works but I can't do that for obvious reasons. I have compiled both with gfortran and mpif90 with same results
use mod_maxdims , only : maxstr
integer, parameter :: nvars_ncep = 12
character(len=maxstr), parameter, dimension(nvars_ncep) :: vars_ncep = &
(/ 'air' & ! Air temperature [ K]
, 'pres' & ! Pressure [ Pa]
, 'rhum' & ! Relative humidity [ %]
, 'uwnd' & ! Zonal wind [ m/s]
, 'vwnd' & ! Zonal wind [ m/s]
, 'pres' & ! Pressure [ Pa]
, 'dlwrf' & ! Downward long wave radiation [ W/m2]
, 'nbdsf' & ! Near-IR beam radiation [ W/m2]
, 'nddsf' & ! Near-IR diffuse radiation [ W/m2]
, 'vbdsf' & ! Visible beam radiation [ W/m2]
, 'vddsf' & ! Visible beam radiation [ W/m2]
, 'prate' /) ! Precipitation rate [kg/m2/s]