code: def apwp(data, print_results=False):
      
      pole_lat, pole_lon = bc02(data)  # get the pole for these parameters
      # get the declination and inclination for that pole
      ExpDec, ExpInc = vgp_di(pole_lat, pole_lon, data[1], data[2])
      # convert the inclination to paleo latitude
      paleo_lat = magnetic_lat(ExpInc)
      if print_results:
          # print everything out
          print(' Age   Paleolat.   Dec.   Inc.   Pole_lat.  Pole_Long.')
          print('%7.1f %7.1f %7.1f %7.1f %7.1f  %7.1f\n'
                % (data[3], paleo_lat, ExpDec, ExpInc, pole_lat, pole_lon))
  
      else:
          return [data[3], paleo_lat, ExpDec, ExpInc, pole_lat, pole_lon]
docs: calculates expected pole positions and directions for given plate, location and age
      Parameters
      _________
          data : [plate,lat,lon,age]
              plate : [NA, SA, AF, IN, EU, AU, ANT, GL]
                  NA : North America
                  SA : South America
                  AF : Africa
                  IN : India
                  EU : Eurasia
                  AU : Australia
                  ANT: Antarctica
                  GL : Greenland
               lat/lon : latitude/longitude in degrees N/E
               age : age in millions of years
          print_results : if True will print out nicely formatted results
      Returns
      _________
          if print_results is False, [Age,Paleolat, Dec, Inc, Pole_lat, Pole_lon]