Skip to content
Snippets Groups Projects
Commit 3aaa8113 authored by lkugler's avatar lkugler
Browse files

.

parent 64636c6a
No related branches found
No related tags found
No related merge requests found
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
......@@ -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.
......
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment