source: trunk/UTIL/interpolate_1d_tprofile_z2sig.py @ 3779

Last change on this file since 3779 was 3731, checked in by afalco, 3 months ago

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

File size: 1.2 KB
RevLine 
[3565]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
[3731]6import sys
[3565]7
[3731]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
[3565]16temperature_in = pd.read_csv("profile.in", header=None).iloc[:,0]
17print(len(temperature_in), temperature_in[0])
[3731]18z2sig_in = pd.read_csv("z2sig.def.in", names=range(40), header=None, skiprows=1, delimiter=" +").iloc[:,0]
[3565]19print(len(z2sig_in), z2sig_in[0])
[3731]20z2sig_out = pd.read_csv("z2sig.def", names=range(40), header=None, skiprows=1, delimiter=" +").iloc[:,0]
[3565]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
[3731]27print("Input temperature")
28print(temperature_in)
29print("Input altitude")
30print(z2sig_in)
31print("Output altitude")
32print(z2sig_out)
[3565]33temperature_out = np.interp(z2sig_out, z2sig_in, temperature_in)
[3731]34print("Output temperature")
35print(temperature_out)
[3565]36np.savetxt("profile", temperature_out, fmt="%f")
Note: See TracBrowser for help on using the repository browser.