Skip to content
Snippets Groups Projects
Commit 1009eb23 authored by lkugler's avatar lkugler
Browse files

docs+typo

parent f87668b1
No related branches found
No related tags found
No related merge requests found
...@@ -180,15 +180,15 @@ def create_obs_seq_in(time_dt, list_obscfg, ...@@ -180,15 +180,15 @@ def create_obs_seq_in(time_dt, list_obscfg,
Args: Args:
time_dt (dt.datetime): time of observation time_dt (dt.datetime): time of observation
list_obscfg (list of dict): configuration for observation types list_obscfg (list of dict): configuration for observation types
must have keys:
Note:
`list_obscfg` must have these keys:
- n_obs (int) : number of observations (must be a square of an integer: 4, 9, 1000, ...) - n_obs (int) : number of observations (must be a square of an integer: 4, 9, 1000, ...)
- obs_locations (str or tuple) in ['square_array_from_domaincenter', 'square_array_evenly_on_grid', ] - obs_locations (str or tuple) in ['square_array_from_domaincenter', 'square_array_evenly_on_grid', ]
or list of (lat, lon) coordinate tuples, in degrees north/east or list of (lat, lon) coordinate tuples, in degrees north/east
- error_generate (float) - error_generate (np.array)
- error_assimilate (float or False) : False -> parameterized - error_assimilate (np.array or False) : False -> parameterized
- cov_loc_radius_km (float) - cov_loc_radius_km (float)
obs_errors (np.array): contains observation errors, one for each observation
""" """
print('creating obs_seq.in:') print('creating obs_seq.in:')
time_dt = add_timezone_UTC(time_dt) time_dt = add_timezone_UTC(time_dt)
......
...@@ -18,13 +18,16 @@ from dartwrf.utils import sed_inplace, copy, symlink, mkdir ...@@ -18,13 +18,16 @@ from dartwrf.utils import sed_inplace, copy, symlink, mkdir
def run(iens, begin, end, hist_interval=5, radt=5, archive=True, def run(iens, begin, end, hist_interval=5, radt=5, archive=True,
restart=False, restart_interval=720): restart=False, restart_interval=720):
"""Create namelist.input files """Create a namelist.input file for each ensemble member
Args: Args:
archive (bool): if True, write to archivedir of experiment archive (bool): if True, write to archivedir of experiment
if False, write to WRF run directory if False, write to WRF run directory
restart (str): fortran bool whether to use wrfinput or wrfrst restart (str): fortran bool whether to use wrfinput or wrfrst
restart_interval (int): output frequency of wrfrst (minutes) restart_interval (int): output frequency of wrfrst (minutes)
Returns
None
""" """
rundir = cluster.wrf_rundir(iens) rundir = cluster.wrf_rundir(iens)
copy(cluster.namelist, rundir+'/namelist.input') copy(cluster.namelist, rundir+'/namelist.input')
...@@ -73,6 +76,7 @@ def run(iens, begin, end, hist_interval=5, radt=5, archive=True, ...@@ -73,6 +76,7 @@ def run(iens, begin, end, hist_interval=5, radt=5, archive=True,
if __name__ == '__main__': if __name__ == '__main__':
args = docopt(__doc__) args = docopt(__doc__)
begin = dt.datetime.strptime(args['<begin>'], '%Y-%m-%d_%H:%M') begin = dt.datetime.strptime(args['<begin>'], '%Y-%m-%d_%H:%M')
end = dt.datetime.strptime(args['<end>'], '%Y-%m-%d_%H:%M') end = dt.datetime.strptime(args['<end>'], '%Y-%m-%d_%H:%M')
......
"""Prepare WRF run directories, to use wrf.exe then
Args:
init_time (str): YYYY-MM-DD_HH:MM
Returns:
None
"""
import os, sys, shutil import os, sys, shutil
import datetime as dt import datetime as dt
from config.cfg import exp from config.cfg import exp
from config.cluster import cluster from config.cluster import cluster
from dartwrf.utils import symlink, copy, link_contents from dartwrf.utils import symlink, copy, link_contents
from dartrwrf import prepare_namelist from dartwrf import prepare_namelist
if __name__ == '__main__': if __name__ == '__main__':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment