FV3-JEDI
model.py
Go to the documentation of this file.
1
import
os
2
import
datetime
3
import
ewok
4
import
solo
5
6
7
__all__ = [
"fc_file"
,
"obs_file"
,
"r2d2_obsfile"
,
"r2d2_anfile"
,
"r2d2_fixfile"
]
8
9
10
def
fc_file
(fcout, step):
11
fc = {}
12
fc[
'date'
] = fcout[
'date'
]
13
keys = [fcout[
'exp'
], fcout[
'type'
], fcout[
'date'
], ewok.jediformat(step)]
14
fname =
'.'
.join(keys)
15
fc[
'filename'
] = os.path.join(fcout[
'datadir'
], fname)
16
return
fc
17
18
19
def
obs_file
(conf):
20
obsfile = conf[
'obsdatain'
]
21
return
obsfile
22
23
24
def
r2d2_obsfile
(conf, date):
25
sdate = ewok.jediformat(date)
26
r2d2keys = [
'fv3jedi'
, conf[
'source'
], sdate,
'nc'
]
27
r2d2file =
'.'
.join(r2d2keys)
28
return
r2d2file
29
30
31
def
_get_restarts
(conf, date):
32
# rdate = date.strftime('%Y%m%d.%H')
33
34
ntiles = conf.get(
'ntiles'
, 6)
35
36
ftypes = conf.get(
'ftypes'
, [
'fv_core.res'
,
'fv_srf_wnd.res'
,
'fv_tracer.res'
,
'sfc_data'
])
37
ftiles = [f
'tile{t+1}'
for
t
in
range(0, ntiles)]
38
39
restarts = []
40
fname =
'coupler.res'
41
restarts.append(fname)
42
for
ftype
in
ftypes:
43
for
tile
in
ftiles:
44
# fname = f'{rdate}0000.{ftype}.{tile}.nc'
45
fname = f
'{ftype}.{tile}.nc'
46
restarts.append(fname)
47
return
restarts
48
49
50
def
_get_fv3files
(conf):
51
52
npz = conf.get(
'npz'
, 64)
53
res = conf.get(
'resolution'
,
'c12'
)
54
55
flist = conf.get(
'fv3filesList'
, [f
'akbk{npz}.nc4'
,
'field_table'
,
'fmsmpp.nml'
, f
'input_gfs_{res}.nml'
,
'inputpert_4dvar.nml'
])
56
57
fv3files = []
58
for
fname
in
flist:
59
fv3files.append(fname)
60
61
return
fv3files
62
63
64
def
_get_fieldsets
(conf):
65
66
flist = conf.get(
'fieldsetsList'
, [
'dynamics.yaml'
])
67
68
fieldsets = []
69
for
fname
in
flist:
70
fieldsets.append(fname)
71
72
return
fieldsets
73
74
75
def
r2d2_anfile
(conf, date):
76
77
anlfileDict = {}
78
restarts =
_get_restarts
(conf, date)
79
fv3files =
_get_fv3files
(conf)
80
fieldsets =
_get_fieldsets
(conf)
81
82
anlfileDict = {
'restarts'
: restarts,
83
'fv3files'
: fv3files,
84
'fieldsets'
: fieldsets}
85
86
return
anlfileDict
model.obs_file
def obs_file(conf)
Definition:
model.py:19
model._get_fv3files
def _get_fv3files(conf)
Definition:
model.py:50
model.r2d2_obsfile
def r2d2_obsfile(conf, date)
Definition:
model.py:24
model.fc_file
def fc_file(fcout, step)
Definition:
model.py:10
model._get_restarts
def _get_restarts(conf, date)
Definition:
model.py:31
model.r2d2_anfile
def r2d2_anfile(conf, date)
Definition:
model.py:75
model._get_fieldsets
def _get_fieldsets(conf)
Definition:
model.py:64
fv3-bundle
fv3-jedi
ewok
defaults
model.py
Generated on Tue Jan 5 2021 15:37:41 for FV3-JEDI by
1.8.18