code: def default_fields(cls, include_virtual=True, **kwargs):
          
          output = cls._staticfields.copy()
          if include_virtual:
              output.update({name: VIRTUALFIELD_DTYPE
                             for name in cls._virtualfields})
          return output
docs: The default fields and their dtypes. By default, this returns
          whatever the class's ``_staticfields`` and ``_virtualfields`` is set
          to as a dictionary of fieldname, dtype (the dtype of virtualfields is
          given by VIRTUALFIELD_DTYPE). This function should be overridden by
          subclasses to add dynamic fields; i.e., fields that require some input
          parameters at initialization. Keyword arguments can be passed to this
          to set such dynamic fields.