code: def _cam3_to_climlab(self, field):
          ''' Output is either (KM, JM, 1) or (JM, 1).
          Transform this to...
              - (KM,) or (1,)  if JM==1
              - (KM, JM) or (JM, 1)   if JM>1
  
          (longitude dimension IM not yet implemented).'''
          if self.JM > 1:
              if len(field.shape)==2:
                  return field
              elif len(field.shape)==3:
                  return np.squeeze(np.transpose(field))
          else:
              return np.squeeze(fieldf _cam3_to_climlab(self, field):
          ''' Output is either (KM, JM, 1) or (JM, 1).
          Transform this to...
              - (KM,) or (1,)  if JM==1
              - (KM, JM) or (JM, 1)   if JM>1
  
          (longitude dimension IM not yet implemented).'''
          if self.JM > 1:
              if len(field.shape)==2:
                  return field
              elif len(field.shape)==3:
                  return np.squeeze(np.transpose(field))
          else:
              return np.squeeze(field)
docs: Output is either (KM, JM, 1) or (JM, 1).
          Transform this to...
              - (KM,) or (1,)  if JM==1
              - (KM, JM) or (JM, 1)   if JM>1
  
          (longitude dimension IM not yet implemented).