New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 9497 for branches/UKMO/dev_merge_2017_restart_datestamp_GO6_mixing/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90 – NEMO

Ignore:
Timestamp:
2018-04-23T16:37:47+02:00 (6 years ago)
Author:
davestorkey
Message:

branches/UKMO/dev_merge_2017_restart_datestamp_GO6_mixing : recommit science changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_merge_2017_restart_datestamp_GO6_mixing/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90

    r9496 r9497  
    2424   USE in_out_manager ! I/O manager 
    2525   USE iom            ! I/O manager library 
     26   USE ioipsl, ONLY : ju2ymds    ! for calendar 
    2627   USE lib_mpp        ! MPP library 
    2728   USE lib_fortran    ! fortran utilities (glob_sum + no signed zero) 
     
    4950      INTEGER, INTENT(in) ::   kt       ! number of iteration 
    5051      ! 
     52      INTEGER             ::   iyear, imonth, iday 
     53      REAL (wp)           ::   zsec 
     54      REAL (wp)           ::   zfjulday 
    5155      CHARACTER(len=20)   ::   clkt     ! ocean time-step define as a character 
    5256      CHARACTER(len=50)   ::   clname   ! ice output restart file name 
     
    6367         IF( nitrst <= nitend .AND. nitrst > 0 ) THEN 
    6468            ! beware of the format used to write kt (default is i8.8, that should be large enough...) 
    65             IF( nitrst > 99999999 ) THEN   ;   WRITE(clkt, *       ) nitrst 
    66             ELSE                           ;   WRITE(clkt, '(i8.8)') nitrst 
     69            IF ( ln_rstdate ) THEN 
     70               zfjulday = fjulday + (2*nn_fsbc+1)*rdt / rday 
     71               IF( ABS(zfjulday - REAL(NINT(zfjulday),wp)) < 0.1 / rday )   zfjulday = REAL(NINT(zfjulday),wp)   ! avoid truncation error 
     72               CALL ju2ymds( zfjulday, iyear, imonth, iday, zsec )            
     73               WRITE(clkt, '(i4.4,2i2.2)') iyear, imonth, iday 
     74            ELSE 
     75               IF( nitrst > 99999999 ) THEN   ;   WRITE(clkt, *       ) nitrst 
     76               ELSE                           ;   WRITE(clkt, '(i8.8)') nitrst 
     77               ENDIF 
    6778            ENDIF 
    6879            ! create the file 
Note: See TracChangeset for help on using the changeset viewer.