-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTerminal_interface.py
89 lines (61 loc) · 2.37 KB
/
Terminal_interface.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# -*- coding: utf-8 -*-
"""
Created on Mon Mar 2 16:21:27 2020
@author: pigna
"""
import os
from datetime import datetime, timedelta
import warnings
warnings.filterwarnings("ignore")
###############################################################################
#Terminal interface for input parameters
###############################################################################
today = datetime.today()
last_day=today-timedelta(days=6)
last_day_string = last_day.strftime("%d/%m/%Y")
print('**********Input time and satellite**********')
print('Valid dates are from 05/12/2013 to '+last_day_string)
YEAR=int(input('Insert year: '))
if(YEAR<2013 or YEAR>today.year+1):
raise RuntimeError('No valid year!')
MONTH=int(input('Insert month: '))
if(MONTH<1 or MONTH>12):
raise RuntimeError('No valid month!')
DOM=int(input('Insert day of the month: '))
try:
datetime(YEAR,MONTH,DOM)
except:
raise RuntimeError('No valid day!')
SAT=str(input('Insert Swarm satellite (A,B,C): ')).upper()
if(not (SAT in ('A','B','C'))):
raise RuntimeError('No valid satellite!')
###############################################################################
#Reading of input parameters file
###############################################################################
filename_parameters=os.path.join(os.getcwd(),'TITIPy_input_parameters.txt')
file=open(filename_parameters,'r')
lines=list(file)
FIGURE=str.rsplit(lines[3])[0].upper()
if(not (FIGURE in ('Y','N'))):
raise RuntimeError('No valid input for plotting!')
if(FIGURE=='Y'):
FIGURE=True
else:
FIGURE=False
WINDOW_WIDTH=int(str.rsplit(lines[4])[0])
if(datetime(YEAR,MONTH,DOM)<datetime(2014,7,15)):
FREQUENCY_CHANGE_TEC=True
else:
FREQUENCY_CHANGE_TEC=False
TEC_INPUT=int(str.rsplit(lines[5])[0])
if(not (TEC_INPUT in (1,2,3))):
raise RuntimeError('No valid TEC input for ROTI calculation!')
file.close()
###############################################################################
#Reading of user credentials for access to the ESA Swarm dissemination center
###############################################################################
filename_user=os.path.join(os.getcwd(),'User_credentials.txt')
file=open(filename_user,'r')
lines=list(file)
USERNAME=lines[0].strip()
PASSWORD=lines[1] .strip()