Skip to content

Add check_energy related history output variables to check_energy_diagnostics #161

@jimmielin

Description

@jimmielin

In CAM check_energy.F90 the following history variables are written out:

    call addfld('TEINP',  horiz_only,  'A', 'J/m2', 'Total energy of physics input')
    call addfld('TEOUT',  horiz_only,  'A', 'J/m2', 'Total energy of physics output')
    call addfld('TEFIX',  horiz_only,  'A', 'J/m2', 'Total energy after fixer')
    call addfld('EFIX',   horiz_only,  'A', 'W/m2', 'Effective sensible heat flux due to energy fixer')
    call addfld('DTCORE', (/ 'lev' /), 'A', 'K/s' , 'T tendency due to dynamical core')
    call addfld('DQCORE', (/ 'lev' /), 'A', 'kg/kg/s' , 'Water vapor tendency due to dynamical core')

The following variables are missing:

  • TEINP is state%te_ini(:,dyn_te_idx), and should be written out with the standard name vertically_integrated_total_energy_using_dycore_energy_formula_at_start_of_physics_timestep
  • TEFIX is state%te_cur(:,dyn_te_idx). It is currently written out with the standard name vertically_integrated_total_energy_using_dycore_energy_formula but the field name is te_cur_dyn. Should be renamed to TEFIX?
  • EFIX is eshflx from check_energy_fix_run. It has the standard name net_sensible_heat_flux_through_top_and_bottom_of_atmosphere_column and should be written out right after a call to check_energy_fix_run (before it is zeroed out by the next scheme) -- this might need splitting the diagnostic into a check_energy_fix_diagnostics so it is called at the right time.
  • DTCORE is tendency_of_air_temperature_due_to_dynamics, it is computed at the end of physpkg after check_energy_fix_run -- could go with the same EFIX into the same diagnostics module

The following have been implemented:

  • TEOUT

To capture the appropriate quantities at the right point in time there might be separate schemes needed for several of them.

  • TEINP is ready after check_energy_chng_timestep_init
  • TEFIX is ready after the energy fixer / tendencies applied and check_energy_chng computes the total energy ?
  • EFIX is ready after check_energy_fix_run but before the next tendencies are zeroed out for check_energy_zero_fluxes + chng
  • DTCORE should be a separate scheme, check when/where it is called in CAM

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions