source: trunk/UTIL/interpolate_1d_tprofile_z2sig.py @ 3731

Last change on this file since 3731 was 3731, checked in by afalco, 8 weeks ago

UTIL: print help for script to interpolate 1D vertical profiles on new altitude grid.
AF

File size: 1.2 KB
Line 
1# Script to interpolate a temperature profile (profile.in) from altitudes
2# defined in z2sig.def.in on a new altitude grid (z2sig.def)
3
4import numpy as np
5import pandas as pd
6import sys
7
8if sys.argv[1] in ("-h", "--help"):
9    print("Must be provided:\n"
10          "profile.in   : vertical profile to interpolate\n"
11          "z2sig.def.in : input altitude profile\n"
12          "z2sig.def    : output altitude profile\n"
13    )
14    exit(0)
15
16temperature_in = pd.read_csv("profile.in", header=None).iloc[:,0]
17print(len(temperature_in), temperature_in[0])
18z2sig_in = pd.read_csv("z2sig.def.in", names=range(40), header=None, skiprows=1, delimiter=" +").iloc[:,0]
19print(len(z2sig_in), z2sig_in[0])
20z2sig_out = pd.read_csv("z2sig.def", names=range(40), header=None, skiprows=1, delimiter=" +").iloc[:,0]
21print(len(z2sig_out), z2sig_out[0])
22
23#add surface
24z2sig_in = np.insert(z2sig_in,0,0)
25z2sig_out = np.insert(z2sig_out,0,0)
26
27print("Input temperature")
28print(temperature_in)
29print("Input altitude")
30print(z2sig_in)
31print("Output altitude")
32print(z2sig_out)
33temperature_out = np.interp(z2sig_out, z2sig_in, temperature_in)
34print("Output temperature")
35print(temperature_out)
36np.savetxt("profile", temperature_out, fmt="%f")
Note: See TracBrowser for help on using the repository browser.