Opened 5 years ago

Closed 3 years ago

#185 closed enhancement (fixed)

Need new subroutine for time variables

Reported by: jgipsl Owned by: jgipsl
Priority: major Milestone: ORCHIDEE 2.0
Component: Model architecture Version:
Keywords: Cc:

Description (last modified by jgipsl)

The time related variables in ORCHIDEE needs to be put together in a new subroutine. The calculation of EndOfYear, FirstTsOfYear, LastTsDay should be done at the same time as sec and month are updated, done in call intsurf_time. The following part in slowproc should be put elsewhere :

    IF ( sec == dt_sechiba .AND. month==1 .AND. day==1 ) THEN
       ! The current time step is the first sechiba timestep of a new year
       IF (printlev_loc>=4) WRITE(numout,*) "This is a new day and a new year: month, day, sec=", month, day, sec
    END IF
    IF ( sec == 0 ) THEN
       ! The current time step is the last sechiba time step on a day
       IF ( month == 1 .AND. day == 1 ) THEN
          ! The current time step is the last sechiba time step on a year
          ! JG : note that month=1, day=1, sec=O is the last day of the year. 
          !      This is due to a problem before the first call to slowproc. 
          !      slowproc_main enters the first time on the 2nd time step (1800s)
          EndOfYear = .TRUE.
          IF (printlev_loc>=4) WRITE(numout,*) "This is the last sechiba time step of a year, EndOfYear is activated"
          EndOfYear = .FALSE.
       END IF
       LastTsDay = .FALSE.
       EndOfYear = .FALSE.
    END IF

There is a time shift introduced in with the call to intsurf_time(from intersurf). The first calculated time step is sec=1800s. The last time step of the day is sec=0 and the date of the day already turned into the new date. This behaviour needs also to be revised at the same time. See comment JG above.

Change History (2)

comment:1 Changed 5 years ago by jgipsl

  • Description modified (diff)

comment:2 Changed 3 years ago by jgipsl

  • Milestone set to ORCHIDEE 2.0
  • Resolution set to fixed
  • Status changed from new to closed

The new time module has been introduced in the trunk rev [4646]. No changes for dim2_driver or coupled mode with LMDZ. Each time-step is now described by the time interval(variables are indexed _start or _end).

Done by J Polcher, J Ghattas

Note: See TracTickets for help on using tickets.