Exemplo n.º 1
0
 def testEspVICwithPerturb(self):
     """Test ESP forecast VIC simulation, with initialization
     from perturbed model simulations."""
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     self.options['vic']['initialize'] = "perturb"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 2
0
 def testNmmeVIC(self):
     """Test forecast VIC simulations using IRI forecast data."""
     self.options['forecast']['startdate'] = "2017-7-1"
     self.options['forecast']['enddate'] = "2017-7-31"
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "nmme"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 3
0
 def testEspDSSAT(self):
     self.options['forecast']['model'] = 'vic, dssat'
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     self.options['forecast']['startdate'] = "2011-2-1"
     self.options['forecast']['enddate'] = "2011-4-30"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 4
0
 def testIriVIC(self):
     """Test forecast VIC simulations using IRI forecast data."""
     self.options['forecast']['startdate'] = "2012-2-1"
     self.options['forecast']['enddate'] = "2012-4-30"
     self.options['forecast']['ensemble size'] = 1
     self.options['forecast']['method'] = "iri"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 5
0
def run():
    """Main RHEAS routine."""
    config_filename, dbname, db_update, verbose, logfile = parseArgs()
    if verbose:
        log_level = logging.DEBUG
    else:
        log_level = logging.INFO
    if logfile is None:
        logging.basicConfig(level=log_level, format='%(levelname)s: %(message)s')
    else:
        logging.basicConfig(filename=logfile, level=log_level, format='%(levelname)s: %(message)s')
    log = logging.getLogger(__name__)
    if dbname is None:
        dbname = "rheas"
    dbio.connect(dbname)
    # check if database update is requested
    if db_update:
        log.info("Updating database!")
        update(dbname, config_filename)
    else:
        options = config.loadFromFile(config_filename)
        # check what simulations have been requested
        if "nowcast" in options:
            nowcast.execute(dbname, options)
        if "forecast" in options:
            forecast.execute(dbname, options)
Exemplo n.º 6
0
 def testEspDSSAT(self):
     self.options['forecast']['model'] = 'vic, dssat'
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     self.options['forecast']['startdate'] = "2011-2-1"
     self.options['forecast']['enddate'] = "2011-4-30"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 7
0
 def testEspVICwithAssimilation(self):
     self.options['forecast']['startdate'] = "2011-1-1"
     self.options['forecast']['enddate'] = "2011-1-31"
     self.options['vic']['ensemble size'] = 3
     self.options['forecast']['ensemble size'] = 3
     self.options['vic']['observations'] = "smos"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 8
0
 def testEspVICwithAssimilation(self):
     self.options['forecast']['startdate'] = "2010-2-1"
     self.options['forecast']['enddate'] = "2010-4-30"
     self.options['vic']['ensemble size'] = 3
     self.options['forecast']['ensemble size'] = 3
     self.options['vic']['observations'] = "smos"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 9
0
def run():
    """Main RHEAS routine."""
    config_filename, dbname, db_update, verbose, logfile = parseArgs()
    if verbose:
        log_level = logging.DEBUG
    else:
        log_level = logging.INFO
    if logfile is None:
        logging.basicConfig(level=log_level,
                            format='%(levelname)s: %(message)s')
    else:
        logging.basicConfig(filename=logfile,
                            level=log_level,
                            format='%(levelname)s: %(message)s')
    log = logging.getLogger(__name__)
    if dbname is None:
        dbname = "rheas"
    dbio.connect(dbname)
    # check if database update is requested
    if db_update:
        log.info("Updating database!")
        update(dbname, config_filename)
    else:
        options = config.loadFromFile(config_filename)
        # check what simulations have been requested
        if "nowcast" in options:
            nowcast.execute(dbname, options)
        if "forecast" in options:
            forecast.execute(dbname, options)
Exemplo n.º 10
0
 def testNmmeVIC(self):
     """Test forecast VIC simulations using IRI forecast data."""
     self.options['forecast']['startdate'] = "2017-7-1"
     self.options['forecast']['enddate'] = "2017-7-31"
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "nmme"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 11
0
 def testEspVICwithAssimilation(self):
     """Test ESP forecast VIC simulation with data assimilation."""
     self.options['forecast']['startdate'] = "2011-4-1"
     self.options['forecast']['enddate'] = "2011-4-30"
     self.options['vic']['ensemble size'] = 3
     self.options['forecast']['ensemble size'] = 3
     self.options['vic']['observations'] = "smos"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 12
0
 def testEspVICwithAssimilation(self):
     """Test ESP forecast VIC simulation with data assimilation."""
     self.options['forecast']['startdate'] = "2011-1-1"
     self.options['forecast']['enddate'] = "2011-1-31"
     self.options['vic']['ensemble size'] = 3
     self.options['forecast']['ensemble size'] = 3
     self.options['vic']['observations'] = "smos"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 13
0
def run():
    """Main RHEAS routine."""
    config_filename, dbname, db_update = parseArgs()
    if dbname is None:
        dbname = "rheas"
    dbio.connect(dbname)
    # check if database update is requested
    if db_update:
        print "Updating database!"
        update(dbname, config_filename)
    else:
        options = config.loadFromFile(config_filename)
        # check what simulations have been requested
        if "nowcast" in options:
            nowcast.execute(dbname, options)
        if "forecast" in options:
            forecast.execute(dbname, options)
Exemplo n.º 14
0
def run():
    """Main RHEAS routine."""
    config_filename, dbname, db_update = parseArgs()
    if dbname is None:
        dbname = "rheas"
    dbio.connect(dbname)
    # check if database update is requested
    if db_update:
        print "Updating database!"
        update(dbname, config_filename)
    else:
        options = config.loadFromFile(config_filename)
        # check what simulations have been requested
        if "nowcast" in options:
            nowcast.execute(dbname, options)
        if "forecast" in options:
            forecast.execute(dbname, options)
Exemplo n.º 15
0
def run():
    """Main RHEAS routine."""
    config_filename, dbname, db_update = parseArgs()
    if dbname is None:
        dbname = "rheas"
    try:
        pg.connect("dbname={0}".format(dbname))
    except:
        print("Cannot connect to database {0}. Please restart it by running \n {1}/pg_ctl -D {2}/postgres restart".format(
            dbname, rpath.bins, rpath.data))
        sys.exit()
    # check if database update is requested
    if db_update:
        print "Updating database!"
        update(dbname, config_filename)
    else:
        options = config.loadFromFile(config_filename)
        # check what simulations have been requested
        if "nowcast" in options:
            nowcast.execute(dbname, options)
        if "forecast" in options:
            forecast.execute(dbname, options)
Exemplo n.º 16
0
 def testEspVIC(self):
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 17
0
 def testEspDSSAT(self):
     self.options['forecast']['model'] = 'vic, dssat'
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 18
0
 def testIriVIC(self):
     self.options['forecast']['startdate'] = "2012-2-1"
     self.options['forecast']['enddate'] = "2012-4-30"
     self.options['forecast']['ensemble size'] = 1
     self.options['forecast']['method'] = "iri"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 19
0
 def testEspVIC(self):
     """Test ESP forecast VIC simulation, with random initialization."""
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 20
0
 def testEspVICwithPerturb(self):
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     self.options['vic']['initialize'] = "perturb"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 21
0
 def testEspVICwithPerturb(self):
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     self.options['vic']['initialize'] = "perturb"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 22
0
 def testIriVIC(self):
     self.options['forecast']['startdate'] = "2001-4-1"
     self.options['forecast']['enddate'] = "2001-6-30"
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "iri"
     forecast.execute(self.dbname, self.options)
Exemplo n.º 23
0
 def testEspVIC(self):
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     forecast.execute(self.dbname, self.options)