Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pass annual-average fields to GLC #1413

Merged
merged 14 commits into from
Apr 27, 2017
Merged

Pass annual-average fields to GLC #1413

merged 14 commits into from
Apr 27, 2017

Commits on Apr 6, 2017

  1. first set of commits for doing glc time averaging at different freque…

    …ncy than coupling
    Mariana Vertenstein authored and billsacks committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    380f22f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f168784 View commit details
    Browse the repository at this point in the history
  3. changes to have new yearly averaging for cism

    Mariana Vertenstein authored and billsacks committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    77327f8 View commit details
    Browse the repository at this point in the history
  4. bug fix for compilation

    Mariana Vertenstein authored and billsacks committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    12b11ff View commit details
    Browse the repository at this point in the history
  5. Minor cleanup

    Mostly changes comments and documentation
    
    Also removes a trailing comma from a list in python
    billsacks committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    8878fd7 View commit details
    Browse the repository at this point in the history
  6. Call seq_infodata_putData for glc_valid_input from all tasks

    I'm not sure this is necessary, but it seems safest
    billsacks committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    40059b8 View commit details
    Browse the repository at this point in the history
  7. Do GLC RECV-POST based on glcrun_alarm

    Mariana had changed this to use glcrun_avg_alarm. But I think this work
    should really be done every time glc is run, even if it's not an
    averaging time.
    billsacks committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    076847b View commit details
    Browse the repository at this point in the history
  8. Support GLC_AVG_PERIOD = 'glc_coupling_period' rather than 'daily'

    If specifying GLC_AVG_PERIOD = 'glc_coupling_period', we'll
    automatically set the averaging clock to match the glc run clock. This
    provides more robustness than the earlier hard-coded 'daily' option, in
    case the glc coupling period is not actually daily.
    billsacks committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    27ddee4 View commit details
    Browse the repository at this point in the history
  9. Add an error check

    Abort if it's ever the case that glcrun_avg_alarm is true, but
    glcrun_alarm is false
    billsacks committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    97068a5 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2017

  1. Zero the x2g fields if .not. glcrun_avg_alarm

    In principle we shouldn't need to zero the fields at these times -
    instead, glc should just ignore the fields at these times. However, some
    tests (like an ERS or ERI test that stops the final run segment
    mid-year) can fail if we don't explicitly zero the fields, because the
    x2g fields can then differ upon restart.
    
    The refactored logic in cesm_comp_mod also results in these changes:
    
    (1) This code:
    
             !----------------------------------------------------
             !| cpl -> glc
             !----------------------------------------------------
    
             if (iamin_CPLALLGLCID .and. glc_prognostic) then
                call component_exch(glc, flow='x2c', &
                     infodata=infodata, infodata_string='cpl2glc_run', &
                     mpicom_barrier=mpicom_CPLALLGLCID, run_barriers=run_barriers, &
                     timer_barrier='CPL:C2G_BARRIER', timer_comp_exch='CPL:C2G', &
                     timer_map_exch='CPL:c2g_glcx2glcg', timer_infodata_exch='CPL:c2g_infoexch')
             endif
    
    will now only be executed if glcrun_alarm is true. That's what happened
    on master, but the previous version of the branch executed it even if
    glcrun_alarm was false.
    
    (2) This code:
    
                      call cesm_comp_barriers(mpicom=mpicom_CPLID, timer='CPL:GLCPREP_BARRIER')
                      call t_drvstartf ('CPL:GLCPREP',cplrun=.true.,barrier=mpicom_CPLID)
                      if (drv_threading) call seq_comm_setnthreads(nthreads_CPLID)
    
    and then:
    
                      if (drv_threading) call seq_comm_setnthreads(nthreads_GLOID)
                      call t_drvstopf  ('CPL:GLCPREP',cplrun=.true.)
    
    will happen even if .not. glcrun_avg_alarm
    billsacks committed Apr 10, 2017
    Configuration menu
    Copy the full SHA
    14f4529 View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2017

  1. Configuration menu
    Copy the full SHA
    8ce40ab View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2017

  1. Configuration menu
    Copy the full SHA
    fea3f6b View commit details
    Browse the repository at this point in the history
  2. Fix merge problem

    billsacks committed Apr 24, 2017
    Configuration menu
    Copy the full SHA
    cc6d449 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2017

  1. Remove glcrun_alarm from seq_infodata

    This used to be used by CLM, but is no longer needed.
    billsacks committed Apr 25, 2017
    Configuration menu
    Copy the full SHA
    f7f0ff6 View commit details
    Browse the repository at this point in the history