<p><b>dwj07@fsu.edu</b> 2012-04-26 12:44:42 -0600 (Thu, 26 Apr 2012)</p><p><br>
        -- TRUNK COMMIT --<br>
<br>
        Adding StrKIND to kind_types which now defines a standard length of a string.<br>
        Set to a default of 512 currently, but can be changed in src/framework/mpas_kind_types.F<br>
<br>
        Replaced all instances of len=# with len=StrKIND to support this standard string lenght.<br>
<br>
        Also, put trim() around any writes of timeStamp, to surpress the 512 characters printing.<br>
</p><hr noshade><pre><font color="gray">
Property changes on: trunk/mpas
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/cam_mpas_nh:1260-1270
/branches/ocean_projects/ale_split_exp:1437-1483
/branches/ocean_projects/ale_vert_coord:1225-1383
/branches/ocean_projects/ale_vert_coord_new:1387-1428
/branches/ocean_projects/gmvar:1214-1514,1517-1738
/branches/ocean_projects/imp_vert_mix_mrp:754-986
/branches/ocean_projects/monotonic_advection:1499-1640
/branches/ocean_projects/split_explicit_mrp:1134-1138
/branches/ocean_projects/split_explicit_timestepping:1044-1097
/branches/ocean_projects/vert_adv_mrp:704-745
/branches/ocean_projects/zstar_restart_new:1762-1770
/branches/source_renaming:1082-1113
/branches/time_manager:924-962
   + /branches/cam_mpas_nh:1260-1270
/branches/ocean_projects/ale_split_exp:1437-1483
/branches/ocean_projects/ale_vert_coord:1225-1383
/branches/ocean_projects/ale_vert_coord_new:1387-1428
/branches/ocean_projects/gmvar:1214-1514,1517-1738
/branches/ocean_projects/imp_vert_mix_mrp:754-986
/branches/ocean_projects/monotonic_advection:1499-1640
/branches/ocean_projects/split_explicit_mrp:1134-1138
/branches/ocean_projects/split_explicit_timestepping:1044-1097
/branches/ocean_projects/vert_adv_mrp:704-745
/branches/ocean_projects/zstar_restart_new:1762-1770
/branches/omp_blocks/block_decomp:1374-1569
/branches/omp_blocks/ddt_reorg:1301-1414
/branches/omp_blocks/halo:1570-1638
/branches/omp_blocks/io:1639-1787
/branches/source_renaming:1082-1113
/branches/time_manager:924-962

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_camrad_init.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_camrad_init.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_camrad_init.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -3,6 +3,7 @@
 !=============================================================================================
  module mpas_atmphys_camrad_init
  use mpas_dmpar
+ use mpas_kind_types
  use mpas_grid_types
  
  use mpas_atmphys_constants,only: cp,degrad,ep_2,g,R_d,R_v,stbolt
@@ -236,7 +237,7 @@
  integer:: ln_eh2owid            ! var. id for line trans. for wndw ems.
    
 !character*(NF_MAX_NAME) tmpname! dummy variable for var/dim names
- character(len=256):: locfn      ! local filename
+ character(len=StrKIND):: locfn      ! local filename
  integer:: tmptype                 ! dummy variable for variable type
  integer:: ndims                   ! number of dimensions
 !integer dims(NF_MAX_VAR_DIMS)   ! vector of dimension ids
@@ -251,7 +252,7 @@
 
  integer:: i,istat,cam_abs_unit
  logical:: opened
- character(len=80):: errmess
+ character(len=StrKIND):: errmess
 
  integer:: i_te,i_rh
 
@@ -503,7 +504,7 @@
 
  integer:: i,istat,cam_aer_unit
  logical:: opened
- character(len=80):: errmess
+ character(len=StrKIND):: errmess
  
 !---------------------------------------------------------------------------------------------
 

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_date_time.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_date_time.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_date_time.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -9,7 +9,7 @@
           monthly_interp_to_date, &amp;
           monthly_min_max
 
- character(len=24),public:: current_date
+ character(len=StrKIND),public:: current_date
 
  contains
 
@@ -18,7 +18,7 @@
 !=============================================================================================
 
 !input arguments:
- character(len=24),intent(in):: date_str
+ character(len=StrKIND),intent(in):: date_str
 
 !output arguments:
  integer,intent(out):: julyr
@@ -54,7 +54,7 @@
 !=============================================================================================
    
 !input arguments:
- character(len=24),intent(in):: date
+ character(len=StrKIND),intent(in):: date
 
 !output arguments:
  integer,intent(out):: century_year,month,day,hour,minute,second,ten_thousandth
@@ -76,7 +76,7 @@
 !=============================================================================================
 
 !input arguments:
- character(len=24),intent(in):: date_str
+ character(len=StrKIND),intent(in):: date_str
  integer,intent(in):: npoints
  real(kind=RKIND),intent(in) ,dimension(12,npoints):: field_in
 
@@ -84,8 +84,8 @@
  real(kind=RKIND),intent(out),dimension(npoints):: field_out
 
 !local variables:
- character(len=2):: day15,mon
- character(len=4):: yr
+ character(len=StrKIND):: day15,mon
+ character(len=StrKIND):: yr
 
  integer:: l,n
  integer:: julyr,julday,int_month,month1,month2

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_initialize_real.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_initialize_real.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_initialize_real.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -32,7 +32,7 @@
  type(fg_type),intent(inout):: fg 
 
 !local variables:
- character(len=32):: timeString
+ character(len=StrKIND):: timeString
  integer:: i,j,iCell,istatus
  integer,dimension(5) :: interp_list
 
@@ -155,7 +155,7 @@
  type(fg_type),intent(inout):: fg 
 
 !local variables:
- character(len=24):: initial_date
+ character(len=StrKIND):: initial_date
 
  integer:: iCell,nCellsSolve
  integer,dimension(:),pointer:: landmask
@@ -585,7 +585,7 @@
  type(fg_type),intent(inout):: fg 
 
 !local variables:
- character(len=128):: mess
+ character(len=StrKIND):: mess
  integer:: iCell,iSoil,nCellsSolve,nSoilLevels
  integer:: num_seaice_changes
  integer,dimension(:),pointer:: landmask,isltyp,ivgtyp

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_landuse.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_landuse.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_landuse.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -59,8 +59,8 @@
  integer,intent(in):: julday
 
 !local variables:
- character(len=35) :: lutype
- character(len=128):: mess
+ character(len=StrKIND) :: lutype
+ character(len=StrKIND):: mess
 
  integer,parameter:: land_unit = 15
  integer,parameter:: open_ok   = 0

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_manager.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_manager.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_manager.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -1,6 +1,7 @@
 !=============================================================================================
  module mpas_atmphys_manager
  use mpas_configure
+ use mpas_kind_types
  use mpas_grid_types
  use mpas_timekeeping
 
@@ -77,7 +78,7 @@
  type(MPAS_Time_Type):: currTime
 
  logical:: LeapYear
- character(len=32)   :: timeStamp
+ character(len=StrKIND)   :: timeStamp
  integer:: ierr
  real(kind=RKIND):: utc_s
  real(kind=RKIND):: xtime_m

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_rrtmg_lwinit.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_rrtmg_lwinit.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_rrtmg_lwinit.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -3,6 +3,7 @@
 !=============================================================================================
  module mpas_atmphys_rrtmg_lwinit
  use mpas_dmpar
+ use mpas_kind_types
  use mpas_grid_types
  use mpas_atmphys_constants
  use mpas_atmphys_utilities
@@ -44,7 +45,7 @@
 !local variables:
  integer:: i,istat,rrtmg_unit
  logical:: opened
- character(len=80):: errmess
+ character(len=StrKIND):: errmess
 !---------------------------------------------------------------------------------------------
 
 !get a unit to open init file:
@@ -130,7 +131,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -213,7 +214,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -290,7 +291,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -407,7 +408,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -495,7 +496,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -603,7 +604,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -683,7 +684,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -788,7 +789,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -901,7 +902,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -1004,7 +1005,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -1081,7 +1082,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -1173,7 +1174,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -1241,7 +1242,7 @@
  integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -1332,7 +1333,7 @@
  integer,intent(in) :: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -1414,7 +1415,7 @@
  integer, intent(in) :: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower
@@ -1494,7 +1495,7 @@
  integer,intent(in) :: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Arrays fracrefao and fracrefbo are the Planck fractions for the lower

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_rrtmg_swinit.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_rrtmg_swinit.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_rrtmg_swinit.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -5,6 +5,7 @@
 !=============================================================================================
  module mpas_atmphys_rrtmg_swinit
  use mpas_dmpar
+ use mpas_kind_types
  use mpas_grid_types
  use mpas_atmphys_constants
  use mpas_atmphys_utilities
@@ -45,7 +46,7 @@
 !local variables:
  integer:: i,istat,rrtmg_unit
  logical:: opened
- character(len=80):: errmess
+ character(len=StrKIND):: errmess
 !---------------------------------------------------------------------------------------------
 
 !get a unit to open init file:
@@ -129,7 +130,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -211,7 +212,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -294,7 +295,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -376,7 +377,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -458,7 +459,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -542,7 +543,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -624,7 +625,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -706,7 +707,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -777,7 +778,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -867,7 +868,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -925,7 +926,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -961,7 +962,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -1034,7 +1035,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 
@@ -1102,7 +1103,7 @@
       integer,intent(in):: rrtmg_unit
 
 !local variables:                                    
-      character(len=80):: errmess
+      character(len=StrKIND):: errmess
       integer:: istat
 
 !     Array sfluxrefo contains the Kurucz solar source function for this band. 

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_utilities.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_utilities.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_utilities.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -1,12 +1,13 @@
 !=============================================================================================
  module mpas_atmphys_utilities
 
+ use mpas_kind_types
  implicit none
  private
  public:: physics_error_fatal, &amp;
           physics_message
 
- character(len=256),public:: mpas_err_message
+ character(len=StrKIND),public:: mpas_err_message
 
  contains
 

Modified: trunk/mpas/src/core_atmos_physics/mpas_atmphys_vars.F
===================================================================
--- trunk/mpas/src/core_atmos_physics/mpas_atmphys_vars.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_atmos_physics/mpas_atmphys_vars.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -11,15 +11,15 @@
 !list of physics parameterizations:
 !=============================================================================================
 
- character(len=32),public:: microp_scheme
- character(len=32),public:: conv_deep_scheme
- character(len=32),public:: conv_shallow_scheme
- character(len=32),public:: lsm_scheme
- character(len=32),public:: pbl_scheme
- character(len=32),public:: radt_cld_scheme
- character(len=32),public:: radt_lw_scheme
- character(len=32),public:: radt_sw_scheme
- character(len=32),public:: sfclayer_scheme
+ character(len=StrKIND),public:: microp_scheme
+ character(len=StrKIND),public:: conv_deep_scheme
+ character(len=StrKIND),public:: conv_shallow_scheme
+ character(len=StrKIND),public:: lsm_scheme
+ character(len=StrKIND),public:: pbl_scheme
+ character(len=StrKIND),public:: radt_cld_scheme
+ character(len=StrKIND),public:: radt_lw_scheme
+ character(len=StrKIND),public:: radt_sw_scheme
+ character(len=StrKIND),public:: sfclayer_scheme
 
 !=============================================================================================
 !wrf-variables:these variables are needed to keep calls to different physics parameterizations

Modified: trunk/mpas/src/core_hyd_atmos/mpas_atmh_mpas_core.F
===================================================================
--- trunk/mpas/src/core_hyd_atmos/mpas_atmh_mpas_core.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_hyd_atmos/mpas_atmh_mpas_core.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -54,6 +54,7 @@
    
    subroutine mpas_core_run(domain, output_obj, output_frame)
    
+      use mpas_kind_types
       use mpas_grid_types
       use mpas_io_output
       use mpas_timer
@@ -69,7 +70,7 @@
       type (block_type), pointer :: block_ptr
 
       type (MPAS_Time_Type) :: currTime
-      character(len=32) :: timeStamp
+      character(len=StrKIND) :: timeStamp
       integer :: ierr
    
       ! Eventually, dt should be domain specific
@@ -77,7 +78,7 @@
 
       currTime = mpas_get_clock_time(clock, MPAS_NOW, ierr)
       call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
-      write(0,*) 'Initial time ', timeStamp
+      write(0,*) 'Initial time ', trim(timeStamp)
 
       call atmh_write_output_frame(output_obj, output_frame, domain)
    
@@ -89,7 +90,7 @@
 
          currTime = mpas_get_clock_time(clock, MPAS_NOW, ierr)
          call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
-         write(0,*) 'Doing timestep ', timeStamp
+         write(0,*) 'Doing timestep ', trim(timeStamp)
 
          call mpas_timer_start(&quot;time integration&quot;)
          call atmh_do_timestep(domain, dt, timeStamp)

Modified: trunk/mpas/src/core_init_nhyd_atmos/mpas_init_atm_read_met.F
===================================================================
--- trunk/mpas/src/core_init_nhyd_atmos/mpas_init_atm_read_met.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_init_nhyd_atmos/mpas_init_atm_read_met.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -2,6 +2,8 @@
 
 module init_atm_read_met
 
+   use mpas_kind_types
+
    integer, parameter :: MAX_FILENAME_LEN = 1024
 
    real (kind=4), parameter :: EARTH_RADIUS_M = 6370000.   ! same as MM5 system
@@ -22,11 +24,11 @@
                                        truelat1, truelat2, earth_radius
       real (kind=4), pointer, dimension(:,:) :: slab
       logical                       :: is_wind_grid_rel
-      character (len=9)             :: field
-      character (len=24)            :: hdate
-      character (len=25)            :: units
-      character (len=32)            :: map_source
-      character (len=46)            :: desc
+      character (len=StrKIND)             :: field
+      character (len=StrKIND)            :: hdate
+      character (len=StrKIND)            :: units
+      character (len=StrKIND)            :: map_source
+      character (len=StrKIND)            :: desc
    end type met_data
 
 
@@ -93,7 +95,7 @@
       integer, intent(out) :: istatus
   
       ! Local variables
-      character (len=8) :: startloc
+      character (len=StrKIND) :: startloc
   
       istatus = 1
   

Modified: trunk/mpas/src/core_init_nhyd_atmos/mpas_init_atm_test_cases.F
===================================================================
--- trunk/mpas/src/core_init_nhyd_atmos/mpas_init_atm_test_cases.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_init_nhyd_atmos/mpas_init_atm_test_cases.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -1,5 +1,6 @@
 module init_atm_test_cases
 
+   use mpas_kind_types
    use mpas_grid_types
    use mpas_configure
    use mpas_constants
@@ -2244,7 +2245,7 @@
       real (kind=RKIND), allocatable, dimension(:,:,:) :: vegfra
       integer, dimension(:), pointer :: mask_array
       integer, dimension(grid % nEdges), target :: edge_mask
-      character (len=1024) :: fname
+      character (len=StrKIND) :: fname
 
       real (kind=RKIND) :: u, flux, fluxk, lat1, lat2, eta_v, r_pert, u_pert, lat_pert, lon_pert, r
       real (kind=RKIND) :: lat, lon, x, y
@@ -4335,7 +4336,7 @@
       type (MPAS_Clock_type) :: fg_clock
       type (MPAS_Time_type) :: start_time, stop_time, curr_time
       type (MPAS_TimeInterval_type) :: fg_interval
-      character (len=32) :: timeString
+      character (len=StrKIND) :: timeString
 
 
       ! Set interpolation sequence to be used for SST/SKINTEMP field

Modified: trunk/mpas/src/core_nhyd_atmos/mpas_atm_mpas_core.F
===================================================================
--- trunk/mpas/src/core_nhyd_atmos/mpas_atm_mpas_core.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_nhyd_atmos/mpas_atm_mpas_core.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -18,6 +18,7 @@
    subroutine mpas_core_init(domain, startTimeStamp)
 
       use mpas_configure
+      use mpas_kind_types
       use mpas_grid_types
       use atm_test_cases
 
@@ -32,7 +33,7 @@
       type (field1DChar) :: xtime
       type (MPAS_Time_type) :: startTime, sliceTime
       type (MPAS_TimeInterval_type) :: timeDiff, minTimeDiff
-      character(len=32) :: timeStamp
+      character(len=StrKIND) :: timeStamp
       integer :: i
       integer :: ierr
 
@@ -70,7 +71,7 @@
             call mpas_dmpar_abort(domain % dminfo)
          end if
 
-         write(0,*) 'Starting model with surface time ', timeStamp
+         write(0,*) 'Starting model with surface time ', trim(timeStamp)
 
       end if
 
@@ -227,6 +228,7 @@
    subroutine mpas_core_run(domain, output_obj, output_frame)
    
       use mpas_grid_types
+      use mpas_kind_types
       use mpas_io_output
       use mpas_timer
    
@@ -240,7 +242,7 @@
       type (block_type), pointer :: block_ptr
 
       type (MPAS_Time_Type) :: currTime
-      character(len=32) :: timeStamp
+      character(len=StrKIND) :: timeStamp
       integer :: itimestep
       integer :: ierr
 
@@ -256,7 +258,7 @@
 
          currTime = mpas_get_clock_time(clock, MPAS_NOW, ierr)
          call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)         
-         write(0,*) 'Begin timestep ', timeStamp
+         write(0,*) 'Begin timestep ', trim(timeStamp)
 
          ! Input external updates (i.e. surface)
          if (mpas_is_alarm_ringing(clock, sfcAlarmID, ierr=ierr)) then
@@ -418,6 +420,7 @@
    subroutine atm_do_timestep(domain, dt, itimestep)
    
       use mpas_grid_types
+      use mpas_kind_types
       use atm_time_integration
 #ifdef DO_PHYSICS
       use mpas_atmphys_control
@@ -434,7 +437,7 @@
       
       type (MPAS_Time_Type) :: startTime, currTime
       type (MPAS_TimeInterval_Type) :: xtimeTime
-      character(len=32) :: timeStamp
+      character(len=StrKIND) :: timeStamp
       integer :: s, s_n, s_d
       real (kind=RKIND) :: xtime_s
       integer :: ierr

Modified: trunk/mpas/src/core_nhyd_atmos/mpas_atm_time_integration.F
===================================================================
--- trunk/mpas/src/core_nhyd_atmos/mpas_atm_time_integration.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_nhyd_atmos/mpas_atm_time_integration.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -1,6 +1,7 @@
 module atm_time_integration
 
    use mpas_grid_types
+   use mpas_kind_types
    use mpas_configure
    use mpas_constants
    use mpas_dmpar
@@ -38,7 +39,7 @@
       type (block_type), pointer :: block
       type (MPAS_Time_type) :: currTime
       type (MPAS_TimeInterval_type) :: dtInterval
-      character (len=32) :: xtime
+      character (len=StrKIND) :: xtime
 
       if (trim(config_time_integration) == 'SRK3') then
          call atm_srk3(domain, dt, itimestep)

Modified: trunk/mpas/src/core_ocean/mpas_ocn_equation_of_state.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_equation_of_state.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_ocean/mpas_ocn_equation_of_state.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -14,6 +14,7 @@
 
 module ocn_equation_of_state
 
+   use mpas_kind_types
    use mpas_grid_types
    use mpas_configure
    use ocn_equation_of_state_linear
@@ -86,7 +87,7 @@
       type (mesh_type), intent(in) :: grid
       integer, intent(out) :: err
       integer :: k_displaced
-      character(len=8), intent(in) :: displacement_type
+      character(len=StrKIND), intent(in) :: displacement_type
 
       integer, dimension(:), pointer :: maxLevelCell
       real (kind=RKIND), dimension(:,:), pointer :: rho

Modified: trunk/mpas/src/core_ocean/mpas_ocn_equation_of_state_jm.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_equation_of_state_jm.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_ocean/mpas_ocn_equation_of_state_jm.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -14,6 +14,7 @@
 
 module ocn_equation_of_state_jm
 
+   use mpas_kind_types
    use mpas_grid_types
    use mpas_configure
 
@@ -85,7 +86,7 @@
 
       type (mesh_type), intent(in) :: grid
       integer :: k_displaced, indexT, indexS
-      character(len=8), intent(in) :: displacement_type
+      character(len=StrKIND), intent(in) :: displacement_type
       integer, intent(out) :: err
 
       type (dm_info) :: dminfo

Modified: trunk/mpas/src/core_ocean/mpas_ocn_mpas_core.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_mpas_core.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_ocean/mpas_ocn_mpas_core.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -310,6 +310,7 @@
    
    subroutine mpas_core_run(domain, output_obj, output_frame)!{{{
    
+      use mpas_kind_types
       use mpas_grid_types
       use mpas_io_output
       use mpas_timer
@@ -325,7 +326,7 @@
       type (block_type), pointer :: block_ptr
 
       type (MPAS_Time_Type) :: currTime
-      character(len=32) :: timeStamp
+      character(len=StrKIND) :: timeStamp
       integer :: ierr
    
       ! Eventually, dt should be domain specific
@@ -333,7 +334,7 @@
 
       currTime = mpas_get_clock_time(clock, MPAS_NOW, ierr)
       call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
-      write(0,*) 'Initial time ', timeStamp
+      write(0,*) 'Initial time ', trim(timeStamp)
 
       call ocn_write_output_frame(output_obj, output_frame, domain)
       block_ptr =&gt; domain % blocklist
@@ -353,7 +354,7 @@
 
          currTime = mpas_get_clock_time(clock, MPAS_NOW, ierr)
          call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
-         write(0,*) 'Doing timestep ', timeStamp
+         write(0,*) 'Doing timestep ', trim(timeStamp)
 
          call mpas_timer_start(&quot;time integration&quot;, .false., timeIntTimer)
          call mpas_timestep(domain, itimestep, dt, timeStamp)
@@ -463,6 +464,7 @@
    
    subroutine mpas_timestep(domain, itimestep, dt, timeStamp)!{{{
    
+      use mpas_kind_types
       use mpas_grid_types
    
       implicit none

Modified: trunk/mpas/src/core_sw/mpas_sw_mpas_core.F
===================================================================
--- trunk/mpas/src/core_sw/mpas_sw_mpas_core.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/core_sw/mpas_sw_mpas_core.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -143,6 +143,7 @@
    subroutine mpas_core_run(domain, output_obj, output_frame)
    
       use mpas_grid_types
+      use mpas_kind_types
       use mpas_io_output
       use mpas_timer
    
@@ -157,7 +158,7 @@
       type (block_type), pointer :: block_ptr
 
       type (MPAS_Time_Type) :: currTime
-      character(len=32) :: timeStamp
+      character(len=StrKIND) :: timeStamp
       integer :: ierr
    
       ! Eventually, dt should be domain specific
@@ -165,7 +166,7 @@
 
       currTime = mpas_get_clock_time(clock, MPAS_NOW, ierr)
       call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)         
-      write(0,*) 'Initial timestep ', timeStamp
+      write(0,*) 'Initial timestep ', trim(timeStamp)
 
       call write_output_frame(output_obj, output_frame, domain)
 
@@ -179,7 +180,7 @@
 
          currTime = mpas_get_clock_time(clock, MPAS_NOW, ierr)
          call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)         
-         write(0,*) 'Doing timestep ', timeStamp
+         write(0,*) 'Doing timestep ', trim(timeStamp)
 
          call mpas_timer_start(&quot;time integration&quot;)
          call mpas_timestep(domain, itimestep, dt, timeStamp)

Modified: trunk/mpas/src/driver/mpas_subdriver.F
===================================================================
--- trunk/mpas/src/driver/mpas_subdriver.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/driver/mpas_subdriver.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -2,6 +2,7 @@
 
    use mpas_framework
    use mpas_core
+   use mpas_kind_types
 
    type (dm_info), pointer :: dminfo
    type (domain_type), pointer :: domain
@@ -17,7 +18,7 @@
       implicit none
 
       real (kind=RKIND) :: dt
-      character(len=32) :: timeStamp
+      character(len=StrKIND) :: timeStamp
 
       !
       ! Initialize infrastructure

Modified: trunk/mpas/src/framework/mpas_attlist.F
===================================================================
--- trunk/mpas/src/framework/mpas_attlist.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_attlist.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -4,13 +4,13 @@
 
    ! Derived type for holding field attributes
    type att_list_type
-      character (len=64) :: attName
+      character (len=StrKIND) :: attName
       integer :: attType
       integer :: attValueInt
       integer, dimension(:), pointer :: attValueIntA =&gt; null()
       real (kind=RKIND) :: attValueReal
       real (kind=RKIND), dimension(:), pointer :: attValueRealA =&gt; null()
-      character (len=1024) :: attValueText
+      character (len=StrKIND) :: attValueText
       type (att_list_type), pointer :: next =&gt; null()
    end type att_list_type
 

Modified: trunk/mpas/src/framework/mpas_block_decomp.F
===================================================================
--- trunk/mpas/src/framework/mpas_block_decomp.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_block_decomp.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -43,7 +43,7 @@
       integer :: i, j, global_block_id, local_block_id, owning_proc, iunit, istatus
       integer :: blocks_per_proc
       integer, dimension(:), pointer :: local_nvertices
-      character (len=256) :: filename
+      character (len=StrKIND) :: filename
 
       if(config_number_of_blocks == 0) then
         total_blocks = dminfo % nProcs
@@ -461,7 +461,7 @@
      type(dm_info), intent(in) :: dminfo
 
      integer :: iounit, istatus, i, owning_proc
-     character (len=256) :: filename
+     character (len=StrKIND) :: filename
 
      integer, dimension(:), allocatable :: block_counter
 

Modified: trunk/mpas/src/framework/mpas_grid_types.F
===================================================================
--- trunk/mpas/src/framework/mpas_grid_types.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_grid_types.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -9,9 +9,9 @@
 
    ! Derived type describing info for doing I/O specific to a field
    type io_info
-      character (len=1024) :: fieldName
-      character (len=1024) :: units
-      character (len=1024) :: description
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND) :: units
+      character (len=StrKIND) :: description
       integer, dimension(4) :: start
       integer, dimension(4) :: count
       logical :: input
@@ -32,9 +32,9 @@
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
-      character (len=64), dimension(3) :: dimNames
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND), dimension(3) :: dimNames
       integer, dimension(3) :: dimSizes
       logical :: hasTimeDimension
       logical :: isSuperArray
@@ -61,9 +61,9 @@
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
-      character (len=64), dimension(2) :: dimNames
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND), dimension(2) :: dimNames
       integer, dimension(2) :: dimSizes
       logical :: hasTimeDimension
       logical :: isSuperArray
@@ -90,9 +90,9 @@
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
-      character (len=64), dimension(1) :: dimNames
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND), dimension(1) :: dimNames
       integer, dimension(1) :: dimSizes
       logical :: hasTimeDimension
       logical :: isSuperArray
@@ -119,8 +119,8 @@
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
       logical :: hasTimeDimension
       logical :: isSuperArray
       type (att_list_type), pointer :: attList =&gt; null()     
@@ -146,9 +146,9 @@
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
-      character (len=64), dimension(3) :: dimNames
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND), dimension(3) :: dimNames
       integer, dimension(3) :: dimSizes
       logical :: hasTimeDimension
       logical :: isSuperArray
@@ -175,9 +175,9 @@
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
-      character (len=64), dimension(2) :: dimNames
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND), dimension(2) :: dimNames
       integer, dimension(2) :: dimSizes
       logical :: hasTimeDimension
       logical :: isSuperArray
@@ -204,9 +204,9 @@
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
-      character (len=64), dimension(1) :: dimNames
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND), dimension(1) :: dimNames
       integer, dimension(1) :: dimSizes
       logical :: hasTimeDimension
       logical :: isSuperArray
@@ -233,8 +233,8 @@
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
       logical :: hasTimeDimension
       logical :: isSuperArray
       type (att_list_type), pointer :: attList =&gt; null()     
@@ -256,13 +256,13 @@
       type (block_type), pointer :: block
 
       ! Raw array holding field data on this block
-      character (len=64), dimension(:), pointer :: array
+      character (len=StrKIND), dimension(:), pointer :: array
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
-      character (len=64), dimension(1) :: dimNames
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND), dimension(1) :: dimNames
       integer, dimension(1) :: dimSizes
       logical :: hasTimeDimension
       logical :: isSuperArray
@@ -285,12 +285,12 @@
       type (block_type), pointer :: block
 
       ! Raw array holding field data on this block
-      character (len=64) :: scalar
+      character (len=StrKIND) :: scalar
 
       ! Information used by the I/O layer
       type (io_info), pointer :: ioinfo       ! to be removed later
-      character (len=64) :: fieldName
-      character (len=64), dimension(:), pointer :: constituentNames =&gt; null()
+      character (len=StrKIND) :: fieldName
+      character (len=StrKIND), dimension(:), pointer :: constituentNames =&gt; null()
       logical :: hasTimeDimension
       logical :: isSuperArray
       type (att_list_type), pointer :: attList =&gt; null()     

Modified: trunk/mpas/src/framework/mpas_io.F
===================================================================
--- trunk/mpas/src/framework/mpas_io.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_io.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -52,7 +52,7 @@
       logical :: initialized = .false.
       logical :: data_mode = .false.
       type (file_desc_t) :: pio_file
-      character (len=1024) :: filename
+      character (len=StrKIND) :: filename
       integer :: iomode
       integer :: ioformat
       integer :: pio_unlimited_dimid
@@ -127,24 +127,24 @@
    end type decomphandle_type
 
    type atthandle_type
-      character (len=1024) :: attName
+      character (len=StrKIND) :: attName
       integer :: attType
       integer :: attValueInt
       integer, dimension(:), pointer :: attValueIntA =&gt; null()
       real (kind=RKIND) :: attValueReal
       real (kind=RKIND), dimension(:), pointer :: attValueRealA =&gt; null()
-      character (len=1024) :: attValueText
+      character (len=StrKIND) :: attValueText
    end type atthandle_type
 
    type dimhandle_type
-      character (len=1024) :: dimname
+      character (len=StrKIND) :: dimname
       logical :: is_unlimited_dim = .false.
       integer :: dimsize
       integer :: dimid
    end type dimhandle_type
 
    type fieldhandle_type
-      character (len=1024) :: fieldname
+      character (len=StrKIND) :: fieldname
       integer :: fieldid
       type (Var_desc_t) :: field_desc
       integer :: field_type
@@ -496,7 +496,7 @@
       character (len=*), intent(in) :: fieldname
       integer, intent(out), optional :: fieldtype
       integer, intent(out), optional :: ndims
-      character (len=64), dimension(:), pointer, optional :: dimnames
+      character (len=StrKIND), dimension(:), pointer, optional :: dimnames
       integer, dimension(:), pointer, optional :: dimsizes
       integer, intent(out), optional :: ierr
 
@@ -714,7 +714,7 @@
       type (MPAS_IO_Handle_type), intent(inout) :: handle
       character (len=*), intent(in) :: fieldname
       integer, intent(in) :: fieldtype
-      character (len=64), dimension(:), intent(in) :: dimnames
+      character (len=StrKIND), dimension(:), intent(in) :: dimnames
       integer, intent(out), optional :: ierr
 
       integer :: i
@@ -1163,7 +1163,7 @@
       integer, dimension(1) :: count1
       integer, dimension(2) :: start2
       integer, dimension(2) :: count2
-      character (len=1024), dimension(1) :: tempchar
+      character (len=StrKIND), dimension(1) :: tempchar
       type (fieldlist_type), pointer :: field_cursor
 
       ! Sanity checks

Modified: trunk/mpas/src/framework/mpas_io_input.F
===================================================================
--- trunk/mpas/src/framework/mpas_io_input.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_io_input.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -16,7 +16,7 @@
    integer, parameter :: STREAM_INPUT=1, STREAM_SFC=2, STREAM_RESTART=3
 
    type io_input_object
-      character (len=1024) :: filename
+      character (len=StrKIND) :: filename
       integer :: rd_ncid
       integer :: stream
 
@@ -51,7 +51,7 @@
       type (io_input_object) :: input_obj
 #include &quot;dim_decls.inc&quot;
 
-      character (len=16) :: c_on_a_sphere
+      character (len=StrKIND) :: c_on_a_sphere
       real (kind=RKIND) :: r_sphere_radius
 
       integer :: ierr
@@ -116,8 +116,8 @@
       type (MPAS_Time_type) :: sliceTime
       type (MPAS_TimeInterval_type) :: timeDiff
       type (MPAS_TimeInterval_type) :: minTimeDiff
-      character(len=32) :: timeStamp
-      character(len=1024) :: filename
+      character(len=StrKIND) :: timeStamp
+      character(len=StrKIND) :: filename
 
       integer, parameter :: nHalos = 2
       integer, dimension(nHalos+1) :: nCellsCumulative    ! own cells, halo 1 cells, halo 2 cells
@@ -960,7 +960,7 @@
             call mpas_dmpar_abort(domain % dminfo)
          end if
 write(0,*) 'MGD DEBUGGING time = ', input_obj % time
-         write(0,*) 'Restarting model from time ', timeStamp
+         write(0,*) 'Restarting model from time ', trim(timeStamp)
 
       end if
 

Modified: trunk/mpas/src/framework/mpas_io_output.F
===================================================================
--- trunk/mpas/src/framework/mpas_io_output.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_io_output.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -11,7 +11,7 @@
    integer, parameter :: SFC = 3
  
    type io_output_object
-      character (len=1024) :: filename
+      character (len=StrKIND) :: filename
       integer :: stream
 
       integer :: time
@@ -32,7 +32,7 @@
       character (len=*) :: stream
       character (len=*), optional :: outputSuffix
 
-      character (len=128) :: tempfilename
+      character (len=StrKIND) :: tempfilename
 
       type (block_type), pointer :: block_ptr
 

Modified: trunk/mpas/src/framework/mpas_io_streams.F
===================================================================
--- trunk/mpas/src/framework/mpas_io_streams.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_io_streams.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -135,8 +135,8 @@
       integer :: io_err
       integer :: i
       integer :: timeDim
-      character (len=64), dimension(:), pointer :: xtimes
-      character (len=32) :: strTemp
+      character (len=StrKIND), dimension(:), pointer :: xtimes
+      character (len=StrKIND) :: strTemp
       type (MPAS_Time_type) :: sliceTime, startTime
       type (MPAS_TimeInterval_type) :: timeDiff, minTimeDiff
 
@@ -256,7 +256,7 @@
       logical :: isDecomposed
       integer :: ndims
       type (field0dInteger), pointer :: field_ptr
-      character (len=64), dimension(:), pointer :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNames
       integer, dimension(:), pointer :: indices
       integer, dimension(:), pointer :: dimSizes
       type (field_list_type), pointer :: field_list_cursor
@@ -334,9 +334,9 @@
       logical :: isDecomposed
       integer :: ndims
       type (field1dInteger), pointer :: field_ptr
-      character (len=64), dimension(5) :: dimNames
-      character (len=64), dimension(:), pointer :: dimNamesInq
-      character (len=64), dimension(0) :: dimNames0
+      character (len=StrKIND), dimension(5) :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNamesInq
+      character (len=StrKIND), dimension(0) :: dimNames0
       integer, dimension(0) :: dimSizes0
       integer, dimension(:), pointer :: indices
       type (field_list_type), pointer :: field_list_cursor
@@ -435,8 +435,8 @@
       logical :: isDecomposed
       integer :: ndims
       type (field2dInteger), pointer :: field_ptr
-      character (len=64), dimension(5) :: dimNames
-      character (len=64), dimension(:), pointer :: dimNamesInq
+      character (len=StrKIND), dimension(5) :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNamesInq
       integer, dimension(:), pointer :: indices
       type (field_list_type), pointer :: field_list_cursor
       type (field_list_type), pointer :: new_field_list_node
@@ -534,8 +534,8 @@
       logical :: isDecomposed
       integer :: ndims
       type (field3dInteger), pointer :: field_ptr
-      character (len=64), dimension(5) :: dimNames
-      character (len=64), dimension(:), pointer :: dimNamesInq
+      character (len=StrKIND), dimension(5) :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNamesInq
       integer, dimension(:), pointer :: indices
       type (field_list_type), pointer :: field_list_cursor
       type (field_list_type), pointer :: new_field_list_node
@@ -632,7 +632,7 @@
       logical :: isDecomposed
       integer :: ndims
       type (field0dReal), pointer :: field_ptr
-      character (len=64), dimension(:), pointer :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNames
       integer, dimension(:), pointer :: indices
       integer, dimension(:), pointer :: dimSizes
       type (field_list_type), pointer :: field_list_cursor
@@ -710,9 +710,9 @@
       logical :: isDecomposed
       integer :: ndims
       type (field1dReal), pointer :: field_ptr
-      character (len=64), dimension(5) :: dimNames
-      character (len=64), dimension(:), pointer :: dimNamesInq
-      character (len=64), dimension(0) :: dimNames0
+      character (len=StrKIND), dimension(5) :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNamesInq
+      character (len=StrKIND), dimension(0) :: dimNames0
       integer, dimension(0) :: dimSizes0
       integer, dimension(:), pointer :: indices
       type (field_list_type), pointer :: field_list_cursor
@@ -811,8 +811,8 @@
       logical :: isDecomposed
       integer :: ndims
       type (field2dReal), pointer :: field_ptr
-      character (len=64), dimension(5) :: dimNames
-      character (len=64), dimension(:), pointer :: dimNamesInq
+      character (len=StrKIND), dimension(5) :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNamesInq
       integer, dimension(:), pointer :: indices
       type (field_list_type), pointer :: field_list_cursor
       type (field_list_type), pointer :: new_field_list_node
@@ -910,8 +910,8 @@
       logical :: isDecomposed
       integer :: ndims
       type (field3dReal), pointer :: field_ptr
-      character (len=64), dimension(5) :: dimNames
-      character (len=64), dimension(:), pointer :: dimNamesInq
+      character (len=StrKIND), dimension(5) :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNamesInq
       integer, dimension(:), pointer :: indices
       type (field_list_type), pointer :: field_list_cursor
       type (field_list_type), pointer :: new_field_list_node
@@ -1011,8 +1011,8 @@
       logical :: isDecomposed
       integer :: ndims
       type (field0dChar), pointer :: field_ptr
-      character (len=64), dimension(5) :: dimNames
-      character (len=64), dimension(:), pointer :: dimNamesInq
+      character (len=StrKIND), dimension(5) :: dimNames
+      character (len=StrKIND), dimension(:), pointer :: dimNamesInq
       integer, dimension(:), pointer :: dimSizes
       integer, dimension(:), pointer :: indices
       type (field_list_type), pointer :: field_list_cursor
@@ -1098,7 +1098,7 @@
       type (MPAS_Stream_type), intent(inout) :: stream
       character (len=*), intent(in) :: fieldName
       integer, intent(in) :: fieldType
-      character (len=64), dimension(:), intent(in) :: dimNames
+      character (len=StrKIND), dimension(:), intent(in) :: dimNames
       integer, dimension(:), intent(in) :: dimSizes
       logical, intent(in) :: hasTimeDimension
       logical, intent(in) :: isDecomposed
@@ -1112,8 +1112,8 @@
       integer :: idim
       integer :: ndims
       integer :: dimTemp
-      character (len=64), dimension(5) :: dimNamesLocal
-      character (len=64), dimension(:), pointer :: dimNamesInq
+      character (len=StrKIND), dimension(5) :: dimNamesLocal
+      character (len=StrKIND), dimension(:), pointer :: dimNamesInq
       integer, dimension(:), pointer :: dimSizesInq
       type (field_list_type), pointer :: field_list_cursor
       type (field_list_type), pointer :: new_field_list_node

Modified: trunk/mpas/src/framework/mpas_kind_types.F
===================================================================
--- trunk/mpas/src/framework/mpas_kind_types.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_kind_types.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -6,6 +6,8 @@
    integer, parameter :: RKIND  = selected_real_kind(12)
 #endif
 
+   integer, parameter :: StrKIND = 512
+
    contains
 
    subroutine dummy_kinds()

Modified: trunk/mpas/src/framework/mpas_timekeeping.F
===================================================================
--- trunk/mpas/src/framework/mpas_timekeeping.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_timekeeping.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -519,7 +519,7 @@
 
       type (MPAS_TimeInterval_type) :: alarmTimeInterval
       type (MPAS_Time_type) :: alarmTime
-      character (len=32) :: printString
+      character (len=StrKIND) :: printString
 
       ierr = 0
 
@@ -809,11 +809,11 @@
       integer :: year, month, day, hour, min, sec
       integer :: numerator, denominator, denominatorPower
 
-      character (len=50) :: dateTimeString_
-      character (len=50) :: dateSubString
-      character (len=50) :: timeSubString
-      character (len=50) :: secDecSubString
-      character(len=50), pointer, dimension(:) :: subStrings
+      character (len=StrKIND) :: dateTimeString_
+      character (len=StrKIND) :: dateSubString
+      character (len=StrKIND) :: timeSubString
+      character (len=StrKIND) :: secDecSubString
+      character(len=StrKIND), pointer, dimension(:) :: subStrings
 
       if (present(dateTimeString)) then
 
@@ -958,7 +958,7 @@
       integer, intent(out), optional :: S
       integer, intent(out), optional :: S_n
       integer, intent(out), optional :: S_d
-      character (len=32), intent(out), optional :: dateTimeString
+      character (len=StrKIND), intent(out), optional :: dateTimeString
       integer, intent(out), optional :: ierr
 
       call ESMF_TimeGet(curr_time % t, YY=YYYY, MM=MM, DD=DD, H=H, M=M, S=S, Sn=S_n, Sd=S_d, rc=ierr)
@@ -992,11 +992,11 @@
       type (MPAS_TimeInterval_type) :: zeroInterval
 
       integer :: day, hour, min, sec
-      character (len=50) :: timeString_
-      character (len=50) :: daySubString
-      character (len=50) :: timeSubString
-      character (len=50) :: secDecSubString
-      character(len=50), pointer, dimension(:) :: subStrings
+      character (len=StrKIND) :: timeString_
+      character (len=StrKIND) :: daySubString
+      character (len=StrKIND) :: timeSubString
+      character (len=StrKIND) :: secDecSubString
+      character(len=StrKIND), pointer, dimension(:) :: subStrings
 
 !      if (present(DD)) then
 !         days = DD
@@ -1165,7 +1165,7 @@
       integer, intent(out), optional :: S
       integer, intent(out), optional :: S_n
       integer, intent(out), optional :: S_d
-      character (len=32), intent(out), optional :: timeString
+      character (len=StrKIND), intent(out), optional :: timeString
       real (kind=RKIND), intent(out), optional :: dt
       integer, intent(out), optional :: ierr
 

Modified: trunk/mpas/src/framework/mpas_timer.F
===================================================================
--- trunk/mpas/src/framework/mpas_timer.F        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/framework/mpas_timer.F        2012-04-26 18:44:42 UTC (rev 1818)
@@ -16,7 +16,7 @@
 !#endif
 
         type timer_node
-          character (len=72) :: timer_name
+          character (len=StrKIND) :: timer_name
           logical :: running, printable
           integer :: levels, calls
           real (kind=RKIND) :: start_time, end_time, total_time
@@ -230,7 +230,7 @@
         recursive subroutine mpas_timer_write(timer_ptr, total_ptr)!{{{
           type (timer_node), pointer, optional :: timer_ptr
           type (timer_node), pointer, optional :: total_ptr
-          character (len=10) :: tname
+          character (len=StrKIND) :: tname
 
           logical :: total_found, string_equals
           type (timer_node), pointer :: current, total

Modified: trunk/mpas/src/registry/gen_inc.c
===================================================================
--- trunk/mpas/src/registry/gen_inc.c        2012-04-26 17:13:45 UTC (rev 1817)
+++ trunk/mpas/src/registry/gen_inc.c        2012-04-26 18:44:42 UTC (rev 1818)
@@ -68,7 +68,7 @@
       if (nls_ptr-&gt;vtype == INTEGER)   fortprintf(fd, &quot;   integer :: %s</font>
<font color="black">&quot;,nls_ptr-&gt;name);
       if (nls_ptr-&gt;vtype == REAL)      fortprintf(fd, &quot;   real (KIND=RKIND) :: %s</font>
<font color="black">&quot;,nls_ptr-&gt;name);
       if (nls_ptr-&gt;vtype == LOGICAL)   fortprintf(fd, &quot;   logical :: %s</font>
<font color="red">&quot;,nls_ptr-&gt;name);
-      if (nls_ptr-&gt;vtype == CHARACTER) fortprintf(fd, &quot;   character (len=32) :: %s</font>
<font color="blue">&quot;,nls_ptr-&gt;name);
+      if (nls_ptr-&gt;vtype == CHARACTER) fortprintf(fd, &quot;   character (len=StrKIND) :: %s</font>
<font color="black">&quot;,nls_ptr-&gt;name);
 
       nls_ptr = nls_ptr-&gt;next;
    }

</font>
</pre>