Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #16
0
 def testEspVIC(self):
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     forecast.execute(self.dbname, self.options)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #23
0
 def testEspVIC(self):
     self.options['forecast']['ensemble size'] = 2
     self.options['forecast']['method'] = "esp"
     forecast.execute(self.dbname, self.options)