From 86d284213ef0032d69e83e08ddf3849ea655ef6f Mon Sep 17 00:00:00 2001 From: tomrink <rink@ssec.wisc.edu> Date: Fri, 27 Nov 2020 14:14:08 -0600 Subject: [PATCH] snapshot... --- modules/aeolus/aeolus_amv.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/modules/aeolus/aeolus_amv.py b/modules/aeolus/aeolus_amv.py index 4050ec74..33d59d5c 100644 --- a/modules/aeolus/aeolus_amv.py +++ b/modules/aeolus/aeolus_amv.py @@ -6,6 +6,7 @@ import xarray as xr from netCDF4 import Dataset, Dimension, Variable from aeolus.geos_nav import GEOSNavigation from util.util import haversine_np +from amv.intercompare import best_fit import math @@ -158,7 +159,7 @@ class CarrStereo(AMVFiles): # raob_dict: time -> profiles # amv_files_path: directory containing AMVs, '/home/user/amvdir/' -# return dict: aeolus time -> tuple (amv_lon, amv_lat, amv_pres, amv_spd, amv_dir) +# return dict: raob -> tuple (amv_lon, amv_lat, amv_pres, amv_spd, amv_dir) def match_amvs_to_raobs(raob_dict, raob_time, amv_files): nav = amv_files.get_navigation() amv_params = amv_files.get_parameters() @@ -315,6 +316,33 @@ def create_file2(filename, raob_to_amv_dct, raob_dct, amv_files): rootgrp.close() +def analyze2(raob_to_amv_dct, raob_dct): + keys = list(raob_to_amv_dct.keys()) + + for key in keys: + rlat = key[0] + rlon = key[1] + + raob = raob_dct.get(key) + nlevs = raob.shape[0] + raob_prs = raob[:, 0] + raob_spd = raob[:, 3] + raob_dir = raob[:, 2] + amvs = raob_to_amv_dct.get(key) + num_amvs = amvs.shape[1] + for i in range(num_amvs): + amv_lon = amvs[0, i] + amv_lat = amvs[1, i] + amv_prs = amvs[4, i] + amv_spd = amvs[5, i] + amv_dir = amvs[6, i] + + bf = best_fit(amv_spd, amv_dir, amv_prs, amv_lat, amv_lon, raob_spd, raob_dir, raob_prs) + if bf[3] == 0: + print(nlevs, amv_prs, bf[2]) + + + # imports the S4 NOAA output # filename: full path as a string, '/home/user/filename' # returns a dict: time -> list of profiles (a profile is a list of levels) -- GitLab