diff --git a/cicecore/cicedyn/infrastructure/io/io_pio2/ice_restart.F90 b/cicecore/cicedyn/infrastructure/io/io_pio2/ice_restart.F90 index 48a767101..8ebca4b23 100644 --- a/cicecore/cicedyn/infrastructure/io/io_pio2/ice_restart.F90 +++ b/cicecore/cicedyn/infrastructure/io/io_pio2/ice_restart.F90 @@ -9,6 +9,9 @@ module ice_restart use ice_communicate, only: my_task, master_task use ice_exit, only: abort_ice use ice_fileunits, only: nu_diag, nu_restart, nu_rst_pointer +#ifdef CESMCOUPLED + use ice_fileunits, only: inst_suffix +#endif use ice_kinds_mod use ice_restart_shared use ice_pio @@ -46,7 +49,6 @@ subroutine init_restart_read(ice_ic) mday, msec, npt use ice_domain_size, only: ncat use ice_read_write, only: ice_open - character(len=char_len_long), intent(in), optional :: ice_ic ! local variables @@ -57,15 +59,19 @@ subroutine init_restart_read(ice_ic) integer (kind=int_kind) :: status logical (kind=log_kind), save :: first_call = .true. - + logical :: exist character(len=*), parameter :: subname = '(init_restart_read)' if (present(ice_ic)) then filename = trim(ice_ic) else if (my_task == master_task) then +#ifdef CESMCOUPLED write(pointer_file,'(a,i4.4,a,i2.2,a,i2.2,a,i5.5)') & - trim(pointer_file)//'.',myear,'-',mmonth,'-',mday,'-',msec + 'rpointer.ice'//trim(inst_suffix)//'.',myear,'-',mmonth,'-',mday,'-',msec + inquire(file=pointer_file, exist=exist) + if (.not. exist) pointer_file = 'rpointer.ice'//trim(inst_suffix) +#endif open(nu_rst_pointer,file=pointer_file) read(nu_rst_pointer,'(a)') filename0 filename = trim(filename0) @@ -222,8 +228,10 @@ subroutine init_restart_write(filename_spec) ! write pointer (path/file) if (my_task == master_task) then - write(pointer_file,'(a,i4.4,a,i2.2,a,i2.2,a,i5.5)') & - trim(pointer_file)//'.',myear,'-',mmonth,'-',mday,'-',msec +#ifdef CESMCOUPLED + write(pointer_file,'(a,i4.4,a,i2.2,a,i2.2,a,i5.5)') & + 'rpointer.ice'//trim(inst_suffix)//'.',myear,'-',mmonth,'-',mday,'-',msec +#endif open(nu_rst_pointer,file=pointer_file) write(nu_rst_pointer,'(a)') filename close(nu_rst_pointer)