docs: def cam3_gen_source(ext, build_dir):
      '''Add CAM3 fortran source if Fortran 90 compiler available,
      if no compiler is found do not try to build the extension.'''
      #  Fortran 90 sources in order of compilation
      fort90source = ['pmgrid.F90',
                  'prescribed_aerosols.F90',
                  'shr_kind_mod.F90',
                  'quicksort.F90',
                  'abortutils.F90',
                  'absems.F90',
                  'wv_saturation.F90',
                  'aer_optics.F90',
                  'cmparray_mod.F90',
                  'shr_const_mod.F90',
                  'physconst.F90',
                  'pkg_cldoptics.F90',
                  'gffgch.F90',
                  'chem_surfvals.F90',
                  'volcrad.F90',
                  'radae.F90',
                  'radlw.F90',
                  'radsw.F90',
                  'crm.F90',]
      #thispath = abspath(config.local_path)
      thispath = config.local_path
      sourcelist = []
      sourcelist.append(join(thispath,'_cam3.pyf'))
      for item in fort90source:
          sourcelist.append(join(thispath, 'src', item))
      sourcelist.append(join(thispath,'Driver.f90'))
      try:
          config.have_f90c()
          return sourcelist
      except:
          print('No Fortran 90 compiler found, not building CAM3 extension!')
          return None