Opened 8 years ago

Closed 5 years ago

#70 closed enhancement (fixed)

Why EndOfYear = FALSE ?

Reported by: dsolyga Owned by: jgipsl
Priority: minor Milestone: IPSLCM6.v1
Component: Model architecture Version: orchidee_1_9_6
Keywords: cleaning, slowproc Cc:

Description

Why do we have EndOfYear? = .FALSE. at the ELSE statement (section 3.3) in the following block of code :

    IF ( sec_old >= one_day - dtradia .AND.  sec >= zero ) THEN

       ! 3.2.1 reset daily counter
       day_counter = zero
       IF (check) WRITE(numout,*) "slowproc: day_counter 2",day_counter

       ! 3.2.2 Activate slow processes
       do_slow = .TRUE.

       ! 3.2.3 Count the number of days 
       date = date + nint(dt_days)
       IF (check) WRITE(numout,*) "New date : ",date, 'year_length ',year_length,kjit

       ! 3.2.4 Calculate if we have just turned into a new year
       !       Note that: EndOfYear must be true once per year
       !       during a call of stomate_season ??
       IF ( month == 1 .AND. day == 1 .AND. sec .LT. dtradia ) THEN
          EndOfYear = .TRUE.
       ELSE
          EndOfYear = .FALSE.
       ENDIF
    
    ! 3.3 We are not a new day so that slow processes in STOMATE will
    ! not be done (but why end of year set to false ???)
    ELSE
       do_slow = .FALSE.
       EndOfYear = .FALSE.
    ENDIF

Change History (4)

comment:1 Changed 8 years ago by nvuilsce

  • Owner changed from somebody to nvuilsce
  • Status changed from new to assigned

comment:2 Changed 7 years ago by nvuilsce

  • Status changed from assigned to accepted

comment:3 Changed 6 years ago by jgipsl

  • Milestone changed from ORCHIDEE 2.0 to IPSLCM6.v1
  • Owner changed from nvuilsce to jgipsl

I take this ticket as it is related to ticket #107

comment:4 Changed 5 years ago by jgipsl

  • Resolution set to fixed
  • Status changed from accepted to closed

Following section look very strang but is correct:

       IF ( month == 1 .AND. day == 1 .AND. sec .LT. dtradia ) THEN
          EndOfYear = .TRUE.
       ELSE
          EndOfYear = .FALSE.
       ENDIF

In fact at the last time step of the year following is true: month=1, day=1, sec=0. This is due to a time shift done in the beginning. The first time step calculated in sechiba is sec=1800s and the last time step of the day is sec=0.

This will be revised with the work in ticket #185

Note: See TracTickets for help on using tickets.