E3SM-Project / HOMMEXX

Clone of ACME for CMDV-SE project to convert HOMME to C++
11 stars 0 forks source link

Hook up diagnostics to `prim_advance_exp` #357

Open mfdeakin-sandia opened 6 years ago

mfdeakin-sandia commented 6 years ago

This is only needed for running with CAM with diagnostics, so not critical Assigning @bartgol since he knows the most about the C++ diagnostics, but feel free to change

bartgol commented 6 years ago

I thought diagnostics were already hooked up... Are they not working?

ambrad commented 6 years ago

It's the energy diagnostics, based on elem(ie)%accum%DIFF*, which is different than the stateprint ones.

mfdeakin-sandia commented 6 years ago

In prim_advance_exp, we still have

#ifdef ENERGY_DIAGNOSTICS
  if (compute_diagnostics) {
    Errors::runtime_abort("'compute diagnostic' functionality not yet available in C++ build.\n",
                          Errors::err_not_implemented);
  }
#endif

and

#ifdef ENERGY_DIAGNOSTICS
  if (compute_diagnostics) {
    Errors::runtime_abort("'compute diagnostic' functionality not yet available in C++ build.\n",
                          Errors::err_not_implemented);
  }
#endif

Sorry for the lack of clarity; I don't know enough about the different types of diagnostics

ambrad commented 6 years ago

Also, I could be wrong, but I think this has very low priority. The diagnostic output goes into a netcdf. At some point there's likely to be a desire to have it. But it's possible, perhaps likely, that there aren't any tests for it, whether standalone or CAM. @oksanaguba might know at least about standalone HOMME.

bartgol commented 6 years ago

Ah, the energy diagnostics, right.