#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Tue Jan 23 11:37:02 EST 2024 if __name__ == '__main__': import sys,os from misc.timer import Timer tt = Timer(f'[{os.getcwd()}] start ' + ' '.join(sys.argv)) import sys, os.path, os, glob, datetime #import xarray as xr, numpy as np, pandas as pd, matplotlib.pyplot as plt #more imports wython = '/tigress/wenchang/wython' if wython not in sys.path: sys.path.append(wython); print('added to python path:', wython) #from misc import get_kws_from_argv import pandas as pd from misc.shell import run_shell # if __name__ == '__main__': tt.check('end import') # #start from here model = 'AM2.5C360' #daname = 'precip' dsname = 'atmos_daily' expname = 'amipHadISSTrcp45_tigercpu_intelmpi_18_1080PE' years = "1871:2100" ens = 6 funcname = 'selnearest' ifile = 'koppen_locations.csv' df = pd.read_csv(ifile) print(df) for ii,row in df.iterrows(): print(row['Climate variable'], row['Location'], row['Longitude'], row['Latitude']) daname = row['Climate variable'] lonlat_name = row['Location'] lon = row['Longitude'] lat = row['Latitude'] #rename daname if daname == 'Temperature': daname = 't_ref' elif daname == 'Precipitation': daname = 'precip' #rename lonlat_name lonlat_name = lonlat_name.replace(' ', '').replace(',', '-') #covert lon to range 0-360 if lon < 0: lon += 360 lonlat = f'{lon},{lat}' print(daname, lonlat_name, lon, lat) cmd = f'nohup python -m modelout.getdata daname={daname} model={model} expname={expname} funcname={funcname} lonlat={lonlat} lonlat_name={lonlat_name} years={years} ens={ens} dsname={dsname} >> nohup.out.{daname}.{model}.{expname}.{ens}.{funcname}.{lonlat}.{lonlat_name}.log & ' run_shell(cmd) print() if __name__ == '__main__': #from wyconfig import * #my plot settings #savefig if 'savefig' in sys.argv or 's' in sys.argv: figname = __file__.replace('.py', f'.png') if 'overwritefig' in sys.argv or 'o' in sys.argv: wysavefig(figname, overwritefig=True) else: wysavefig(figname) tt.check(f'**Done**') print() if 'notshowfig' in sys.argv or 'n' in sys.argv: pass else: if 'plt' in globals(): plt.show()