Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
DART-WRF
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DataAssimilation
DART-WRF
Commits
3aaa8113
Commit
3aaa8113
authored
2 years ago
by
lkugler
Browse files
Options
Downloads
Patches
Plain Diff
.
parent
64636c6a
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
config/obskind.csv
+333
-0
333 additions, 0 deletions
config/obskind.csv
dartwrf/create_obsseq.py
+2
-29
2 additions, 29 deletions
dartwrf/create_obsseq.py
dartwrf/workflows.py
+36
-2
36 additions, 2 deletions
dartwrf/workflows.py
with
371 additions
and
31 deletions
config/obskind.csv
0 → 100644
+
333
−
0
View file @
3aaa8113
RADIOSONDE_U_WIND_COMPONENT,1
RADIOSONDE_V_WIND_COMPONENT,2
RADIOSONDE_GEOPOTENTIAL_HGT,3
RADIOSONDE_SURFACE_PRESSURE,4
RADIOSONDE_TEMPERATURE,5
RADIOSONDE_SPECIFIC_HUMIDITY,6
DROPSONDE_U_WIND_COMPONENT,7
DROPSONDE_V_WIND_COMPONENT,8
DROPSONDE_SURFACE_PRESSURE,9
DROPSONDE_TEMPERATURE,10
DROPSONDE_SPECIFIC_HUMIDITY,11
AIRCRAFT_U_WIND_COMPONENT,12
AIRCRAFT_V_WIND_COMPONENT,13
AIRCRAFT_TEMPERATURE,14
AIRCRAFT_SPECIFIC_HUMIDITY,15
ACARS_U_WIND_COMPONENT,16
ACARS_V_WIND_COMPONENT,17
ACARS_TEMPERATURE,18
ACARS_SPECIFIC_HUMIDITY,19
MARINE_SFC_U_WIND_COMPONENT,20
MARINE_SFC_V_WIND_COMPONENT,21
MARINE_SFC_TEMPERATURE,22
MARINE_SFC_SPECIFIC_HUMIDITY,23
MARINE_SFC_PRESSURE,24
LAND_SFC_U_WIND_COMPONENT,25
LAND_SFC_V_WIND_COMPONENT,26
LAND_SFC_TEMPERATURE,27
LAND_SFC_SPECIFIC_HUMIDITY,28
LAND_SFC_PRESSURE,29
SAT_U_WIND_COMPONENT,30
SAT_V_WIND_COMPONENT,31
ATOV_TEMPERATURE,32
AIRS_TEMPERATURE,33
AIRS_SPECIFIC_HUMIDITY,34
GPS_PRECIPITABLE_WATER,35
VADWND_U_WIND_COMPONENT,36
VADWND_V_WIND_COMPONENT,37
CIMMS_AMV_U_WIND_COMPONENT,38
CIMMS_AMV_V_WIND_COMPONENT,39
DOPPLER_RADIAL_VELOCITY,40
RADAR_REFLECTIVITY,41
RADAR_CLEARAIR_REFLECTIVITY,42
PRECIPITATION_FALL_SPEED,43
METAR_U_10_METER_WIND,44
METAR_V_10_METER_WIND,45
METAR_TEMPERATURE_2_METER,46
METAR_SPECIFIC_HUMIDITY_2_METER,47
METAR_SURFACE_PRESSURE,48
METAR_POT_TEMP_2_METER,49
DEWPOINT,50
DEWPOINT_2_METER,51
BUOY_DEWPOINT,52
SHIP_DEWPOINT,53
SYNOP_DEWPOINT,54
AIREP_DEWPOINT,55
AMDAR_DEWPOINT,56
PILOT_DEWPOINT,57
BOGUS_DEWPOINT,58
AIRS_DEWPOINT,59
METAR_DEWPOINT_2_METER,60
RADIOSONDE_DEWPOINT,61
DROPSONDE_DEWPOINT,62
AIRCRAFT_DEWPOINT,63
ACARS_DEWPOINT,64
MARINE_SFC_DEWPOINT,65
LAND_SFC_DEWPOINT,66
RADIOSONDE_RELATIVE_HUMIDITY,67
DROPSONDE_RELATIVE_HUMIDITY,68
AIRCRAFT_RELATIVE_HUMIDITY,69
ACARS_RELATIVE_HUMIDITY,70
MARINE_SFC_RELATIVE_HUMIDITY,71
LAND_SFC_RELATIVE_HUMIDITY,72
METAR_RELATIVE_HUMIDITY_2_METER,73
AIRS_RELATIVE_HUMIDITY,74
MESONET_RELATIVE_HUMIDITY,75
RADIOSONDE_SURFACE_ALTIMETER,76
DROPSONDE_SURFACE_ALTIMETER,77
MARINE_SFC_ALTIMETER,78
LAND_SFC_ALTIMETER,79
METAR_ALTIMETER,80
MESONET_SURFACE_ALTIMETER,81
TEMPERATURE,82
SPECIFIC_HUMIDITY,83
PRESSURE,84
GPSRO_REFRACTIVITY,85
VORTEX_LAT,86
VORTEX_LON,87
VORTEX_PMIN,88
VORTEX_WMAX,89
BUOY_U_WIND_COMPONENT,90
BUOY_V_WIND_COMPONENT,91
BUOY_SURFACE_PRESSURE,92
BUOY_TEMPERATURE,93
SHIP_U_WIND_COMPONENT,94
SHIP_V_WIND_COMPONENT,95
SHIP_SURFACE_PRESSURE,96
SHIP_TEMPERATURE,97
SYNOP_U_WIND_COMPONENT,98
SYNOP_V_WIND_COMPONENT,99
SYNOP_SURFACE_PRESSURE,100
SYNOP_SPECIFIC_HUMIDITY,101
SYNOP_TEMPERATURE,102
AIREP_U_WIND_COMPONENT,103
AIREP_V_WIND_COMPONENT,104
AIREP_PRESSURE,105
AIREP_TEMPERATURE,106
AMDAR_U_WIND_COMPONENT,107
AMDAR_V_WIND_COMPONENT,108
AMDAR_PRESSURE,109
AMDAR_TEMPERATURE,110
PILOT_U_WIND_COMPONENT,111
PILOT_V_WIND_COMPONENT,112
PILOT_PRESSURE,113
PILOT_TEMPERATURE,114
BOGUS_U_WIND_COMPONENT,115
BOGUS_V_WIND_COMPONENT,116
BOGUS_PRESSURE,117
BOGUS_TEMPERATURE,118
PROFILER_U_WIND_COMPONENT,119
PROFILER_V_WIND_COMPONENT,120
PROFILER_PRESSURE,121
SATEM_THICKNESS,122
NOAA_1_VTPR1_RADIANCE,123
NOAA_2_VTPR1_RADIANCE,124
NOAA_3_VTPR1_RADIANCE,125
NOAA_4_VTPR1_RADIANCE,126
NOAA_5_HIRS_RADIANCE,127
NOAA_5_MSU_TB,128
NOAA_5_AVHRR_RADIANCE,129
NOAA_6_HIRS_RADIANCE,130
NOAA_6_MSU_TB,131
NOAA_6_AVHRR_RADIANCE,132
NOAA_7_HIRS_RADIANCE,133
NOAA_7_MSU_TB,134
NOAA_7_AVHRR_RADIANCE,135
NOAA_8_HIRS_RADIANCE,136
NOAA_8_MSU_TB,137
NOAA_8_AVHRR_RADIANCE,138
NOAA_9_HIRS_RADIANCE,139
NOAA_9_MSU_TB,140
NOAA_9_AVHRR_RADIANCE,141
NOAA_10_HIRS_RADIANCE,142
NOAA_10_MSU_TB,143
NOAA_10_AVHRR_RADIANCE,144
NOAA_11_HIRS_RADIANCE,145
NOAA_11_MSU_TB,146
NOAA_11_AVHRR_RADIANCE,147
NOAA_12_HIRS_RADIANCE,148
NOAA_12_MSU_TB,149
NOAA_12_AVHRR_RADIANCE,150
NOAA_13_AVHRR_RADIANCE,151
NOAA_14_HIRS_RADIANCE,152
NOAA_14_MSU_TB,153
NOAA_14_AVHRR_RADIANCE,154
NOAA_15_HIRS_RADIANCE,155
NOAA_15_AMSUA_TB,156
NOAA_15_AMSUB_TB,157
NOAA_15_AVHRR_RADIANCE,158
NOAA_16_HIRS_RADIANCE,159
NOAA_16_AMSUA_TB,160
NOAA_16_AMSUB_TB,161
NOAA_16_AVHRR_RADIANCE,162
NOAA_17_HIRS_RADIANCE,163
NOAA_17_AMSUA_TB,164
NOAA_17_AMSUB_TB,165
NOAA_17_AVHRR_RADIANCE,166
NOAA_18_HIRS_RADIANCE,167
NOAA_18_AMSUA_TB,168
NOAA_18_AVHRR_RADIANCE,169
NOAA_18_MHS_TB,170
NOAA_19_HIRS_RADIANCE,171
NOAA_19_AMSUA_TB,172
NOAA_19_AVHRR_RADIANCE,173
NOAA_19_MHS_TB,174
NOAA_20_ATMS_TB,175
NOAA_20_VIIRS_RADIANCE,176
DMSP_8_SSMI_TB,177
DMSP_9_SSMI_TB,178
DMSP_10_SSMI_TB,179
DMSP_11_SSMI_TB,180
DMSP_11_SSMT2_TB,181
DMSP_12_SSMI_TB,182
DMSP_12_SSMT2_TB,183
DMSP_13_SSMI_TB,184
DMSP_14_SSMI_TB,185
DMSP_14_SSMT2_TB,186
DMSP_15_SSMI_TB,187
DMSP_15_SSMT2_TB,188
DMSP_16_SSMIS_TB,189
DMSP_17_SSMIS_TB,190
DMSP_18_SSMIS_TB,191
DMSP_19_SSMIS_TB,192
METEOSAT_1_MVIRI_RADIANCE,193
METEOSAT_2_MVIRI_RADIANCE,194
METEOSAT_3_MVIRI_RADIANCE,195
METEOSAT_4_MVIRI_RADIANCE,196
METEOSAT_5_MVIRI_RADIANCE,197
METEOSAT_6_MVIRI_RADIANCE,198
METEOSAT_7_MVIRI_RADIANCE,199
GOES_4_SOUNDER_RADIANCE,200
GOES_5_SOUNDER_RADIANCE,201
GOES_6_SOUNDER_RADIANCE,202
GOES_7_SOUNDER_RADIANCE,203
GOES_8_IMAGER_RADIANCE,204
GOES_8_SOUNDER_RADIANCE,205
GOES_9_IMAGER_RADIANCE,206
GOES_9_SOUNDER_RADIANCE,207
GOES_10_IMAGER_RADIANCE,208
GOES_10_SOUNDER_RADIANCE,209
GOES_11_IMAGER_RADIANCE,210
GOES_11_SOUNDER_RADIANCE,211
GOES_12_IMAGER_RADIANCE,212
GOES_12_SOUNDER_RADIANCE,213
GOES_13_IMAGER_RADIANCE,214
GOES_13_SOUNDER_RADIANCE,215
GOES_14_IMAGER_RADIANCE,216
GOES_14_SOUNDER_RADIANCE,217
GOES_15_IMAGER_RADIANCE,218
GOES_15_SOUNDER_RADIANCE,219
GOES_16_ABI_RADIANCE,220
GOES_17_ABI_RADIANCE,221
GOES_18_ABI_RADIANCE,222
GOES_19_ABI_RADIANCE,223
GMS_1_IMAGER_RADIANCE,224
GMS_2_IMAGER_RADIANCE,225
GMS_3_IMAGER_RADIANCE,226
GMS_4_IMAGER_RADIANCE,227
GMS_5_IMAGER_RADIANCE,228
FY2_2_VISSR_RADIANCE,229
FY2_3_VISSR_RADIANCE,230
FY2_4_VISSR_RADIANCE,231
FY2_5_VISSR_RADIANCE,232
FY2_7_VISSR_RADIANCE,233
TRMM_1_TMI_TB,234
ERS_1_ATSR_RADIANCE,235
ERS_1_MWR_TB,236
ERS_2_ATSR_RADIANCE,237
ERS_2_MWR_TB,238
EOS_1_MODIS_RADIANCE,239
EOS_1_ASTER_RADIANCE,240
EOS_2_AMSUA_TB,241
EOS_2_AIRS_RADIANCE,242
EOS_2_HSB_TB,243
EOS_2_MODIS_RADIANCE,244
EOS_2_AMSRE_TB,245
METOP_1_HIRS_RADIANCE,246
METOP_1_AMSUA_TB,247
METOP_1_AVHRR_RADIANCE,248
METOP_1_MHS_TB,249
METOP_2_HIRS_RADIANCE,250
METOP_2_AMSUA_TB,251
METOP_2_AVHRR_RADIANCE,252
METOP_2_MHS_TB,253
METOP_3_AVHRR_RADIANCE,254
ENVISAT_1_ATSR_RADIANCE,255
ENVISAT_1_MWR_TB,256
MSG_1_SEVIRI_RADIANCE,257
MSG_2_SEVIRI_RADIANCE,258
MSG_3_SEVIRI_RADIANCE,259
MSG_4_SEVIRI_RADIANCE,260
MSG_4_SEVIRI_TB,261
MSG_4_SEVIRI_BDRF,262
FY1_3_MVISR_RADIANCE,263
FY1_4_MVISR_RADIANCE,264
MTSAT_1_IMAGER_RADIANCE,265
MTSAT_2_IMAGER_RADIANCE,266
CORIOLIS_1_WINDSAT_TB,267
JPSS_0_ATMS_TB,268
JPSS_0_VIIRS_RADIANCE,269
SENTINEL3_1_SLSTR_RADIANCE,270
SENTINEL3_2_SLSTR_RADIANCE,271
MEGHATR_1_SAPHIR_TB,272
MEGHATR_1_MADRAS_TB,273
FY3_1_MWTS_TB,274
FY3_1_MWHS_TB,275
FY3_1_IRAS_RADIANCE,276
FY3_1_MWRI_TB,277
FY3_2_MWTS_TB,278
FY3_2_MWHS_TB,279
FY3_2_MWRI_TB,280
FY3_3_MWRI_TB,281
FY3_3_MWTS2_TB,282
FY3_3_MWHS2_TB,283
FY3_3_MERSI1_RADIANCE,284
FY3_4_MWRI_TB,285
FY3_4_MWTS2_TB,286
FY3_4_MWHS2_TB,287
FY3_4_MERSI2_RADIANCE,288
COMS_1_MI_RADIANCE,289
METEOR_M_1_MSUMR_RADIANCE,290
METEOR_M_2_MSUMR_RADIANCE,291
METEOR_M_2_MTVZAGY_TB,292
CALIPSO_1_IIR_RADIANCE,293
GCOM_W_1_AMSR2_TB,294
NIMBUS_3_MRIR_RADIANCE,295
NIMBUS_4_THIR_RADIANCE,296
NIMBUS_5_THIR_RADIANCE,297
NIMBUS_6_HIRS_RADIANCE,298
NIMBUS_6_SCAMS_TB,299
NIMBUS_6_THIR_RADIANCE,300
NIMBUS_7_SMMR_TB,301
NIMBUS_7_THIR_RADIANCE,302
HIMAWARI_8_AHI_RADIANCE,303
HIMAWARI_9_AHI_RADIANCE,304
MTG_1_FCI_RADIANCE,305
SARAL_1_ALTIKA_TB,306
METOPSG_1_ICI_TB,307
METOPSG_1_METIMAGE_RADIANCE,308
METOPSG_1_MWS_TB,309
METOPSG_1_MWI_TB,310
LANDSAT_4_TM_RADIANCE,311
LANDSAT_5_TM_RADIANCE,312
LANDSAT_7_TM_RADIANCE,313
LANDSAT_8_TIRS_RADIANCE,314
JASON_2_AMR_TB,315
GPM_1_GMI_TB,316
GPM_1_DPR_TB,317
INSAT3_4_IMAGER_RADIANCE,318
INSAT3_4_SOUNDER_RADIANCE,319
INSAT3_5_IMAGER_RADIANCE,320
INSAT3_5_SOUNDER_RADIANCE,321
TICFIRE_1_MBFIRI_RADIANCE,322
ISS_1_ECOSTRES_RADIANCE,323
HJ1_2_IRMSS_RADIANCE,324
GKOMPSAT2_1_AMI_RADIANCE,325
GCOM_C_1_SGLI_RADIANCE,326
SMOS_1_MIRAS_TB,327
ORS_6_COWVR_TB,328
FY4_1_AGRI_RADIANCE,329
TROPICS_0_TROPICS_TB,330
GF5_1_VIMS_RADIANCE,331
HY2_1_MWRI_TB,332
CLOUDSAT_1_CPR_TB,333
This diff is collapsed.
Click to expand it.
dartwrf/create_obsseq.py
+
2
−
29
View file @
3aaa8113
...
...
@@ -5,44 +5,17 @@ according to which observations are generated and subsequently assimilated.
import
os
,
sys
,
warnings
import
numpy
as
np
import
datetime
as
dt
import
csv
from
pysolar.solar
import
get_altitude
,
get_azimuth
from
config.cfg
import
exp
from
config.cluster
import
cluster
from
dartwrf.obs
import
calculate_obs_locations
as
col
def
obskind_read
():
"""
Read dictionary of observation types + ID numbers (
"
kind
"
)
from DART f90 script
"""
definitionfile
=
cluster
.
scriptsdir
+
'
/../config/obs_kind_mod.f90
'
with
open
(
definitionfile
,
'
r
'
)
as
f
:
kind_def_f
=
f
.
readlines
()
obskind_nrs
=
{}
for
i
,
line
in
enumerate
(
kind_def_f
):
if
'
Integer definitions for DART OBS TYPES
'
in
line
:
# data starts below this line
i_start
=
i
break
for
line
in
kind_def_f
[
i_start
+
1
:]:
if
'
MAX_DEFINED_TYPES_OF_OBS
'
in
line
:
# end of data
break
if
'
::
'
in
line
:
# a line looks like this
# integer, parameter, public :: MSG_4_SEVIRI_TB = 261
data
=
line
.
split
(
'
::
'
)[
-
1
].
split
(
'
=
'
)
kind_str
=
data
[
0
].
strip
()
kind_nr
=
int
(
data
[
1
].
strip
())
obskind_nrs
[
kind_str
]
=
kind_nr
return
obskind_nrs
#####################
# Global variables
obs_kind_nrs
=
obskind
_read
(
)
# DART internal indices
obs_kind_nrs
=
csv
.
DictReader
(
open
(
"
config/
obskind
.csv
"
)
)
# DART internal indices
# position on earth for RTTOV ray geometry
lat0
=
45.
...
...
This diff is collapsed.
Click to expand it.
dartwrf/workflows.py
+
36
−
2
View file @
3aaa8113
...
...
@@ -12,6 +12,14 @@ import importlib
from
dartwrf.utils
import
script_to_str
from
config.cfg
import
exp
def
dict_to_csv
(
d
,
outfile
):
with
open
(
outfile
,
'
w
'
)
as
f
:
for
key
in
d
.
keys
():
f
.
write
(
"
%s,%s
\n
"
%
(
key
,
d
[
key
]))
class
WorkFlows
(
object
):
def
__init__
(
self
,
exp_config
=
'
cfg.py
'
,
server_config
=
'
server.py
'
):
"""
Set up the experiment folder in `archivedir`.
...
...
@@ -34,8 +42,34 @@ class WorkFlows(object):
# copy obs kind def to config, we will read a table from there
# file needs to exist within package so sphinx can read it
shutil
.
copy
(
cluster
.
dart_srcdir
+
'
/../../../assimilation_code/modules/observations/obs_kind_mod.f90
'
,
cluster
.
scriptsdir
+
'
/../config/
'
)
def
obskind_read
():
"""
Read dictionary of observation types + ID numbers (
"
kind
"
)
from DART f90 script
"""
definitionfile
=
self
.
cluster
.
dart_srcdir
+
'
/../../../assimilation_code/modules/observations/obs_kind_mod.f90
'
with
open
(
definitionfile
,
'
r
'
)
as
f
:
kind_def_f
=
f
.
readlines
()
obskind_nrs
=
{}
for
i
,
line
in
enumerate
(
kind_def_f
):
if
'
Integer definitions for DART OBS TYPES
'
in
line
:
# data starts below this line
i_start
=
i
break
for
line
in
kind_def_f
[
i_start
+
1
:]:
if
'
MAX_DEFINED_TYPES_OF_OBS
'
in
line
:
# end of data
break
if
'
::
'
in
line
:
# a line looks like this
# integer, parameter, public :: MSG_4_SEVIRI_TB = 261
data
=
line
.
split
(
'
::
'
)[
-
1
].
split
(
'
=
'
)
kind_str
=
data
[
0
].
strip
()
kind_nr
=
int
(
data
[
1
].
strip
())
obskind_nrs
[
kind_str
]
=
kind_nr
return
obskind_nrs
dict_to_csv
(
obskind_read
(),
self
.
cluster
.
scriptsdir
+
'
/../config/obskind.csv
'
)
# Copy scripts to self.cluster.archivedir folder
os
.
makedirs
(
self
.
cluster
.
archivedir
,
exist_ok
=
True
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment