<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<sources>
    <source host="polar.ncep.noaa.gov">
        <login type="ftp" alias="PolarNcepNoaaFtp">
            <username>anonymous</username>
            <password>user@host.com</password>
        </login>
    </source>    
    <source host="ftp1.cloudsat.cira.colostate.edu">
        <login type="ftp" alias="CloudSATFtp">
            <username></username>
            <password></password>
            <cdTestDir>2B-CWC-RO.R04/2007/304</cdTestDir>
            <maxConn>5</maxConn>
        </login>
    </source>
    <source host="ftp.class.noaa.gov">
        <login type="ftp" alias="ClassFtp">
            <username>anonymous</username>
            <password>user@host.com</password>
        </login>
    </source>
    <source host="localhost">
        <login type="file" alias="localhost">
            <username>none</username>
            <password>none</password>
        </login>
    </source>
    <source host="ftpprd.ncep.noaa.gov">
        <login type="ftp" alias="GfsFtp">
            <username>anonymous</username>
            <password>user@host.com</password>
        </login>
    </source>
    <source host="e4ftl01u.ecs.nasa.gov">
        <login type="ftp" alias="ModisFtp">
            <username>anonymous</username>
            <password>user@host.com</password>
        </login>
    </source>
    <source host="airscal2u.ecs.nasa.gov">
        <login type="ftp" alias="GdaacFtp">
            <username>anonymous</username>
            <password>user@host.com</password>
        </login>
    </source>
    <source host="acdisc.gsfc.nasa.gov">
        <login type="ftp" alias="AcdiscGsfcFtp">
            <username>anonymous</username>
            <password>user@host.com</password>
        </login>
    </source>
    <source host="www.signal42.com">
        <login type="http" alias="Signal42ApacheMirrorHttp">
            <username>none</username>
            <password>none</password>
        </login>
    </source>
</sources>