December 14th Stage-1 meeting: DCR, 3:00pm MST
Agenda:

  • Go through pages 13-19 of latest design document.
  • Example namelists are under Stage-1-11
  • Go through object definitions below
  • Erik prototype, Alarms for simple examples
    Design document is under...
    <a href=http://www.ccsm.ucar.edu/cseg/Projects/Working_Groups/soft/esmf/> http://www.ccsm.ucar.edu/cseg/Projects/Working_Groups/soft/esmf/</a>
    Objects:

    shr_input_mod.F90:

       type shr_ccsm_init_t
          ! Case description and name
          character(len=nlen)     :: case_desc       ! Long description of this case
          character(SHR_KIND_CS)  :: case_name       ! Short case identification
          ! Start type: initial, branch or continue
          character(len=nlen)     :: start_type      ! Type of startup
          ! Directory to archive files to
          character(SHR_KIND_CL)  :: archive_dir     ! Directory to archive to...
          ! Special configurations
          logical                 :: atm_adiabatic   ! No surface models and atm adiabatic mode
          logical                 :: atm_ideal_phys  ! No surface models and atm idealized physics mode
          logical                 :: aqua_planet     ! No ice or land, data-ocean with analytic SST's, perpetual time
          ! Restart file info
          character(SHR_KIND_CL)  :: restart_pfile   ! Restart pointer file
          ! MSS information needed for CAM now, but not in the future?
          integer                 :: mss_irt         ! MSS retention period
          character(len=nlen)     :: mss_wpass       ! MSS write password
       end type shr_ccsm_init_t
    

    shr_timemgr_mod.F90

       !
       ! Information included in a CCSM clock
       !
       type shr_timemgr_clock_info_t
          ! CCSM time information: perpetual mode info and orbital information
          private            ! This is an opaque type
          ! Perpetual date information
          logical              :: perpetual_run = .false.
          type(ESMF_Time)      :: perpetual_time
          ! Orbital information to set: either year or all of rest
          integer(SHR_KIND_IN) :: orb_iyear_AD = SHR_ORB_UNDEF_INT
          real(SHR_KIND_R8)    :: orb_obliq    = SHR_ORB_UNDEF_REAL
          real(SHR_KIND_R8)    :: orb_eccen    = SHR_ORB_UNDEF_REAL
          real(SHR_KIND_R8)    :: orb_mvelp    = SHR_ORB_UNDEF_REAL
          ! Orbital information derived from above
          real(SHR_KIND_R8)    :: orb_obliqr   = SHR_ORB_UNDEF_REAL
          real(SHR_KIND_R8)    :: orb_lambm0   = SHR_ORB_UNDEF_REAL
          real(SHR_KIND_R8)    :: orb_mvelpp   = SHR_ORB_UNDEF_REAL
       end type shr_timemgr_clock_info_t
       !
       ! CCSM Clock, infomration, time and restart alarm
       !
       type shr_timemgr_clock_t
          private            ! This is an opaque type
          type(ESMF_Clock)               :: esmf_clock ! Time information
          type(ESMF_Alarm)               :: restart    ! Restart alarm
          type(shr_timemgr_clock_info_t) :: info       ! Additional info: perpetual mode, orbit
       end type shr_timemgr_clock_t
       !
       ! Namelist values for setting up a CCSM clock
       !
       type shr_timemgr_setup_t
          private            ! This is an opaque type
          ! Calendar to use: NO_LEAP or GREGORIAN
          character(len=32)       :: calendar  
          ! Frequency of restarts
          integer(SHR_KIND_IN)    :: restart_nsteps
          integer(SHR_KIND_IN)    :: restart_ndays
          integer(SHR_KIND_IN)    :: restart_nmonths
          integer(SHR_KIND_IN)    :: restart_nyears
          ! Coupling intervals of each model component
          integer(SHR_KIND_IN)    :: atm_cpl_dt
          integer(SHR_KIND_IN)    :: lnd_cpl_dt
          integer(SHR_KIND_IN)    :: ice_cpl_dt
          integer(SHR_KIND_IN)    :: ocn_cpl_dt
          ! Simulation stop time
          integer(SHR_KIND_IN)    :: stop_nsteps
          integer(SHR_KIND_IN)    :: stop_ndays
          integer(SHR_KIND_IN)    :: stop_nmonths
          integer(SHR_KIND_IN)    :: stop_nyears 
          integer(SHR_KIND_IN)    :: stop_ymd  
          integer(SHR_KIND_IN)    :: stop_tod  
          ! Simulation start time
          integer(SHR_KIND_IN)    :: start_ymd 
          integer(SHR_KIND_IN)    :: start_tod 
          ! Simulation reference time
          integer(SHR_KIND_IN)    :: ref_ymd
          integer(SHR_KIND_IN)    :: ref_tod
          ! Perpetual date to hold to
          integer(SHR_KIND_IN)    :: perpetual_ymd
          logical                 :: perpetual_run
          ! Orbital information to set: either year or all of rest
          integer(SHR_KIND_IN)    :: orb_iyear_AD
          real(SHR_KIND_R8)       :: orb_obliq
          real(SHR_KIND_R8)       :: orb_eccen
          real(SHR_KIND_R8)       :: orb_mvelp
       end type shr_timemgr_setup_t
    
  • No labels