You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
2.1 KiB
Python
50 lines
2.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Created on Tue Mar 24 19:02:20 2020
|
|
|
|
@author: z5025317
|
|
"""
|
|
|
|
#load existing tgr time series boundary, raise by 1m and output a new tgr file
|
|
|
|
#==========================================================#
|
|
#Load packages
|
|
#==========================================================#
|
|
import numpy as np
|
|
import os
|
|
import pandas as pd
|
|
import glob
|
|
|
|
os.chdir('C:/Users/z5025317/UNSW/Danial Khojasteh - HEMIP/RMA_result_explorer_code')
|
|
year = '2017'
|
|
|
|
Ocean_gauges_folder = 'J:/Project/wrl2018064 Fisheries RAP/04_Working/05_Modelling/RMA/HEMIP/Global_HEMIP_Data/MHL_Gauge_Data/20200409_Recieved/Open_ocean/'
|
|
filenames = glob.glob(Ocean_gauges_folder + '*.csv')
|
|
filenames = filenames[,[0,1,3]]
|
|
timestep = 0
|
|
for tgr_csv_name in filenames:
|
|
print (tgr_csv_name)
|
|
tgr_csv_name = filenames[3]
|
|
tgr_outname = Ocean_gauges_folder + os.path.basename(tgr_csv_name)[:-4] + '_2' + year
|
|
|
|
Full_df = pd.read_csv(tgr_csv_name ,header= 0, skiprows= 30, parse_dates = True)
|
|
Full_df.index = pd.to_datetime(Full_df.Date, format = '%d/%m/%Y') + pd.to_timedelta(Full_df.Time, unit='h')
|
|
Full_df = Full_df.iloc[:,[-2]]
|
|
Full_df.columns = ['WL[AHD]']
|
|
Full_df = Full_df.loc[(Full_df.index >= year + '-01-01 00:00:00') & (Full_df.index <= str(np.int(year)+1) + '-01-01 00:00:00')]
|
|
# str(df['2'][1500].astype(int))
|
|
|
|
# RMA2: create input file
|
|
fq = open(
|
|
os.path.join(Ocean_gauges_folder, tgr_outname + '.tgr'),
|
|
'w')
|
|
|
|
fq.write('TT MHL tide for ' + os.path.basename(tgr_csv_name)+ ' ' + year + '\n')
|
|
fq.write('{:<5}{:>3}{:>8}{:>8}\n'.format('CL', '', '2', year))
|
|
#fq.write('{:<5}{:>3}{:>8}{:>8}\n'.format('CL', '', int(df['3'][0]), int(df['4'][0])))
|
|
for i in range(1,len(Full_df),1):
|
|
# For each new element
|
|
fq.write('{:<5}{:>3}{:>8}{:>8}\n'.format('HD', str(np.int(Full_df.index[i-1].strftime('%j'))), str(np.round((np.float(Full_df.index[i-1].strftime('%M'))+ np.float(Full_df.index[i-1].strftime('%H'))*60) /60,2)), str(np.round(np.float(Full_df['WL[AHD]'][i-1]),3))))
|
|
fq.write('ENDDATA')
|
|
fq.close()
|