From 60353b6f2b610003ca51428b5175a47db52b7fda Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Mon, 19 Sep 2022 12:21:38 -0600 Subject: [PATCH] Feature #1330 MJO ENSO use case (#1794) Co-authored-by: cristianastan2 --- .github/parm/use_case_groups.json | 5 + ...jo-UserScript_obsCFSr_obsOnly_MJO_ENSO.png | Bin 0 -> 112276 bytes .../UserScript_obsCFSR_obsOnly_MJO_ENSO.py | 145 +++++++++++ internal_tests/use_cases/all_use_cases.txt | 1 + .../UserScript_obsCFSR_obsOnly_MJO_ENSO.conf | 245 ++++++++++++++++++ .../mjo_enso_driver.py | 235 +++++++++++++++++ 6 files changed, 631 insertions(+) create mode 100644 docs/_static/s2s_mjo-UserScript_obsCFSr_obsOnly_MJO_ENSO.png create mode 100644 docs/use_cases/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO.py create mode 100644 parm/use_cases/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO.conf create mode 100755 parm/use_cases/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/mjo_enso_driver.py diff --git a/.github/parm/use_case_groups.json b/.github/parm/use_case_groups.json index 5da16d779e..0e9a05056c 100644 --- a/.github/parm/use_case_groups.json +++ b/.github/parm/use_case_groups.json @@ -179,6 +179,11 @@ "index_list": "3", "run": false }, + { + "category": "s2s_mjo", + "index_list": "4", + "run": false + }, { "category": "space_weather", "index_list": "0-1", diff --git a/docs/_static/s2s_mjo-UserScript_obsCFSr_obsOnly_MJO_ENSO.png b/docs/_static/s2s_mjo-UserScript_obsCFSr_obsOnly_MJO_ENSO.png new file mode 100644 index 0000000000000000000000000000000000000000..b65cae53a389f0c2e1b04ef5f3a2cbb20381ee28 GIT binary patch literal 112276 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 60 +VALID_INCREMENT = 86400 + +# List of forecast leads to process for each run time (init or valid) +# In hours if units are not specified +# If unset, defaults to 0 (don't loop through forecast leads) +LEAD_SEQ = 0 + +# Order of loops to process data - Options are times, processes +# Not relevant if only one item is in the PROCESS_LIST +# times = run all wrappers in the PROCESS_LIST for a single run time, then +# increment the run time and run all wrappers again until all times have +# been evaluated. +# processes = run the first wrapper in the PROCESS_LIST for all times +# specified, then repeat for the next item in the PROCESS_LIST until all +# wrappers have been run +LOOP_ORDER = processes + +# location of configuration files used by MET applications +CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mjo + +# Run the obs for these cases +OBS_RUN = True +FCST_RUN = False + +# Mask to use for regridding +REGRID_DATA_PLANE_VERIF_GRID = latlon 156 61 -30 125 1 1 + +# Method to run regrid_data_plane, not setting this will default to NEAREST +REGRID_DATA_PLANE_METHOD = NEAREST + +# Regridding width used in regrid_data_plane, not setting this will default to 1 +REGRID_DATA_PLANE_WIDTH = 1 + + +# Configurations for regrid_data_plane: Regrid OLR to -15 to 15 latitude +[regrid_obs_taux] +# Run regrid_data_plane on forecast data +OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} + +# If true, process each field individually and write a file for each +# If false, run once per run time passing in all fields specified +REGRID_DATA_PLANE_ONCE_PER_FIELD = False + +# Name of input field to process +OBS_REGRID_DATA_PLANE_VAR1_NAME = uflx + +# Name of output field to create +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = uflx + +# input and output data directories for each application in PROCESS_LIST +OBS_REGRID_DATA_PLANE_INPUT_DIR ={INPUT_BASE}/zonalWindStress/ +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/zonalWindStress/ + +# format of filenames +# Input CFSR +OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = cfsr_zonalWindStress_{valid?fmt=%Y%m%d}.nc +OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE =cfsr_zonalWindStress_{valid?fmt=%Y%m%d}.nc + + +# Configurations for regrid_data_plane: Regrid meridional wind stress +[regrid_obs_tauy] +# Run regrid_data_plane on forecast data +OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} + +# If true, process each field individually and write a file for each +# If false, run once per run time passing in all fields specified +REGRID_DATA_PLANE_ONCE_PER_FIELD = False + +# Name of input field to process +OBS_REGRID_DATA_PLANE_VAR1_NAME = vflx + +# Name of output field to create +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = vflx + +# input and output data directories for each application in PROCESS_LIST +OBS_REGRID_DATA_PLANE_INPUT_DIR ={INPUT_BASE}/meridionalWindStress/ +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/meridionalWindStress/ + +# format of filenames +# Input CFSR +OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = cfsr_meridionalWindStress_{valid?fmt=%Y%m%d}.nc +OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = cfsr_meridionalWindStress_{valid?fmt=%Y%m%d}.nc + +# Configurations for regrid_data_plane: Regrid sst +[regrid_obs_sst] +# Run regrid_data_plane on forecast data +OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} + +# If true, process each field individually and write a file for each +# If false, run once per run time passing in all fields specified +REGRID_DATA_PLANE_ONCE_PER_FIELD = False + +# Name of input field to process +OBS_REGRID_DATA_PLANE_VAR1_NAME =sst + +# Name of output field to create +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = sst + +# input and output data directories for each application in PROCESS_LIST +OBS_REGRID_DATA_PLANE_INPUT_DIR ={INPUT_BASE}/sst/ +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/sst/ + +OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = cfsr_sst_{valid?fmt=%Y%m%d}.nc +OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = cfsr_sst_{valid?fmt=%Y%m%d}.nc + +# Configurations for regrid_data_plane: Regrid zonal ocean current +[regrid_obs_ucur] +# Run regrid_data_plane on forecast data +OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} + +# If true, process each field individually and write a file for each +# If false, run once per run time passing in all fields specified +REGRID_DATA_PLANE_ONCE_PER_FIELD = False + +# Name of input field to process +OBS_REGRID_DATA_PLANE_VAR1_NAME = u + +# Name of output field to create +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = u + +# input and output data directories for each application in PROCESS_LIST +OBS_REGRID_DATA_PLANE_INPUT_DIR ={INPUT_BASE}/zonalOceanCurrent/ +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/zonalOceanCurrent/ + +OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = cfsr_zonalOceanCurrent_{valid?fmt=%Y%m%d}.nc +OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = cfsr_zonalOceanCurrent_{valid?fmt=%Y%m%d}.nc + +# Configurations for regrid_data_plane: Regrid meridional ocean current +[regrid_obs_vcur] +# Run regrid_data_plane on forecast data +OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} + +# If true, process each field individually and write a file for each +# If false, run once per run time passing in all fields specified +REGRID_DATA_PLANE_ONCE_PER_FIELD = False + +# Name of input field to process +OBS_REGRID_DATA_PLANE_VAR1_NAME = v + +# Name of output field to create +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = v + +# input and output data directories for each application in PROCESS_LIST +OBS_REGRID_DATA_PLANE_INPUT_DIR ={INPUT_BASE}/meridionalOceanCurrent/ +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/meridionalOceanCurrent/ + +# format of filenames +# Input CFSR +OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = cfsr_meridionalOceanCurrent_{valid?fmt=%Y%m%d}.nc +OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = cfsr_meridionalOceanCurrent_{valid?fmt=%Y%m%d}.nc + +# Configurations for the MJO-ENSO analysis script +[user_env_vars] +# Whether to Run the model or obs +RUN_OBS = {OBS_RUN} +RUN_FCST = {FCST_RUN} + +# Make OUTPUT_BASE Available to the script +SCRIPT_OUTPUT_BASE = {OUTPUT_BASE} + +# Number of obs per day +OBS_PER_DAY = 1 + +# Variable names for TAUX, TAUY, SST, UCUR, VCUR +OBS_TAUX_VAR_NAME = uflx +OBS_TAUY_VAR_NAME = vflx +OBS_SST_VAR_NAME = sst +OBS_UCUR_VAR_NAME = u +OBS_VCUR_VAR_NAME = v + +# EOF Filename +TAUX_EOF_INPUT_FILE = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Data/cfs_uflx_eof.nc +TAUY_EOF_INPUT_FILE = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Data/cfs_vflx_eof.nc +WMJOK_SST_EOF_INPUT_FILE = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Data/cfs_multivarEOF.nc + +# Filters weights +TAUX_Filter1_TEXTFILE = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Data/taux.filter1.txt +TAUX_Filter2_TEXTFILE = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Data/taux.filter2.txt +TAUY_Filter1_TEXTFILE = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Data/tauy.filter1.txt +TAUY_Filter2_TEXTFILE = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Data/tauy.filter2.txt + + +# Output Directory for the plots +# If not set, it this will default to {OUTPUT_BASE}/plots +PLOT_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/plots + +# MaKE, MaKI indices output file +MAKE_MAKI_OUTPUT_TEXT_FILE = {OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/MAKE-MAKI + + +# Plot start date, end date, output name, and format +PLOT_TIME_BEG = 19900101 +PLOT_TIME_END = 20211231 +PLOT_TIME_FMT = {VALID_TIME_FMT} +OBS_PLOT_OUTPUT_NAME = MAKE_MAKI_timeseries +OBS_PLOT_OUTPUT_FORMAT = png + +# Configurations for UserScript: Run the MJO_ENSO Analysis driver +[script_mjo_enso] +# list of strings to loop over for each run time. +# Run the user script once per lead +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD + +# Template of filenames to input to the user-script +#USER_SCRIPT_INPUT_TEMPLATE = {OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/zonalWindStress/cfsr_zonalWindStress_{valid?fmt=%Y%m%d}.nc,{OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/meridionalWindStress/cfsr_meridionalWindStress_{valid?fmt=%Y%m%d}.nc,{OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/sst/cfsr_sst_{valid?fmt=%Y%m%d}.nc,{OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/zonalOceanCurrent/cfsr_zonalOceanCurrent_{valid?fmt=%Y%m%d}.nc,{OUTPUT_BASE}/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/Regrid/meridionalOceanCurrent/cfsr_meridionalOceanCurrent_{valid?fmt=%Y%m%d}.nc + +USER_SCRIPT_INPUT_TEMPLATE = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/zonalWindStress/cfsr_zonalWindStress_{valid?fmt=%Y%m%d}.nc,{INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/meridionalWindStress/cfsr_meridionalWindStress_{valid?fmt=%Y%m%d}.nc,{INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/sst/cfsr_sst_{valid?fmt=%Y%m%d}.nc,{INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/zonalOceanCurrent/cfsr_zonalOceanCurrent_{valid?fmt=%Y%m%d}.nc,{INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/meridionalOceanCurrent/cfsr_meridionalOceanCurrent_{valid?fmt=%Y%m%d}.nc + +# Name of the file containing the listing of input files +# The options are OBS_TAUX_INPUT, OBS_TAUY_INPUT, OBS_SST_INPUT, OBS_UCUR_INPUT, OBS_VCUR_INPUT, FCST_TAUX_INPUT, FCST_TAUY_INPUT, FCST_SST_INPUT, FCST_UCUR_INPUT,and FCST_VCUR_INPUT +# *** Make sure the order is the same as the order of templates listed in USER_SCRIPT_INPUT_TEMPLATE +USER_SCRIPT_INPUT_TEMPLATE_LABELS = OBS_TAUX_INPUT,OBS_TAUY_INPUT, OBS_SST_INPUT, OBS_UCUR_INPUT, OBS_VCUR_INPUT + +# Command to run the user script with input configuration file +USER_SCRIPT_COMMAND = {METPLUS_BASE}/parm/use_cases/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/mjo_enso_driver.py diff --git a/parm/use_cases/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/mjo_enso_driver.py b/parm/use_cases/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/mjo_enso_driver.py new file mode 100755 index 0000000000..0c98504c9a --- /dev/null +++ b/parm/use_cases/model_applications/s2s_mjo/UserScript_obsCFSR_obsOnly_MJO_ENSO/mjo_enso_driver.py @@ -0,0 +1,235 @@ +#!/usr/bin/env python3 + +import xarray as xr +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +import os +import datetime +import warnings + +import metcalcpy.contributed.mjo_enso.compute_mjo_enso as mj +import metplotpy.contributed.mjo_enso.plot_mjo_enso_indices as plt +import METreadnc.util.read_netcdf as read_netcdf + + +def read_eofs(taux_eofs_file, tauy_eofs_file, meofs_file): + + taux_eofs=xr.open_dataset(taux_eofs_file).eof + tauy_eofs=xr.open_dataset(tauy_eofs_file).eof + meofs = xr.open_dataset(meofs_file).meofs + + return taux_eofs,tauy_eofs,meofs + +def read_filters(filtx1fil,filtx2fil,filty1fil,filty2fil): + filtx1=np.loadtxt(filtx1fil, delimiter=',') + filtx2=np.loadtxt(filtx2fil, delimiter=',') + filty1=np.loadtxt(filty1fil, delimiter=',') + filty2=np.loadtxt(filty2fil, delimiter=',') + + return filtx1,filtx2,filty1,filty2 + +def run_mjo_enso_steps(inlabel,spd,filtx1,filtx2,filty1,filty2,taux_eofs,tauy_eofs,meofs,oplot_dir): + + # Get TAUX, TAUY, SST, UCURRENT, VCURRENT file listings and variable names + taux_filetxt = os.environ['METPLUS_FILELIST_'+inlabel+'_TAUX_INPUT'] + tauy_filetxt = os.environ['METPLUS_FILELIST_'+inlabel+'_TAUY_INPUT'] + sst_filetxt = os.environ['METPLUS_FILELIST_'+inlabel+'_SST_INPUT'] + ucur_filetxt = os.environ['METPLUS_FILELIST_'+inlabel+'_UCUR_INPUT'] + vcur_filetxt = os.environ['METPLUS_FILELIST_'+inlabel+'_VCUR_INPUT'] + + taux_var = os.environ[inlabel+'_TAUX_VAR_NAME'] + tauy_var = os.environ[inlabel+'_TAUY_VAR_NAME'] + sst_var = os.environ[inlabel+'_SST_VAR_NAME'] + u_var = os.environ[inlabel+'_UCUR_VAR_NAME'] + v_var = os.environ[inlabel+'_VCUR_VAR_NAME'] + + # Read the listing of TAUX, TAUY, SST, UCUR, VCUR files + with open(taux_filetxt) as tx: + taux_input_files = tx.read().splitlines() + if (taux_input_files[0] == 'file_list'): + taux_input_files = taux_input_files[1:] + with open(tauy_filetxt) as ty: + tauy_input_files = ty.read().splitlines() + if (tauy_input_files[0] == 'file_list'): + tauy_input_files = tauy_input_files[1:] + with open(sst_filetxt) as ts: + sst_input_files = ts.read().splitlines() + if (sst_input_files[0] == 'file_list'): + sst_input_files = sst_input_files[1:] + with open(ucur_filetxt) as uc: + ucur_input_files = uc.read().splitlines() + if (ucur_input_files[0] == 'file_list'): + ucur_input_files = ucur_input_files[1:] + with open(vcur_filetxt) as vc: + vcur_input_files = vc.read().splitlines() + if (vcur_input_files[0] == 'file_list'): + vcur_input_files = vcur_input_files[1:] + + # Check the input data to make sure it's not all missing + taux_allmissing = all(elem == 'missing' for elem in taux_input_files) + if taux_allmissing: + raise IOError ('No input TAUX files were found, check file paths') + tauy_allmissing = all(elem == 'missing' for elem in tauy_input_files) + if tauy_allmissing: + raise IOError('No input TUAY files were found, check file paths') + sst_allmissing = all(elem == 'missing' for elem in sst_input_files) + if sst_allmissing: + raise IOError('No input SST files were found, check file paths') + ucur_allmissing = all(elem == 'missing' for elem in ucur_input_files) + if ucur_allmissing: + raise IOError('No input UCUR files were found, check file paths') + vcur_allmissing = all(elem == 'missing' for elem in vcur_input_files) + if vcur_allmissing: + raise IOError('No input VCUR files were found, check file paths') + + netcdf_reader_taux=read_netcdf.ReadNetCDF() + ds_taux=netcdf_reader_taux.read_into_xarray(taux_input_files) + + netcdf_reader_tauy=read_netcdf.ReadNetCDF() + ds_tauy=netcdf_reader_tauy.read_into_xarray(tauy_input_files) + + netcdf_reader_sst=read_netcdf.ReadNetCDF() + ds_sst=netcdf_reader_sst.read_into_xarray(sst_input_files) + + netcdf_reader_ucur=read_netcdf.ReadNetCDF() + ds_ucur=netcdf_reader_ucur.read_into_xarray(ucur_input_files) + + netcdf_reader_vcur=read_netcdf.ReadNetCDF() + ds_vcur=netcdf_reader_vcur.read_into_xarray(vcur_input_files) + + time = [] + for din in range(len(ds_taux)): + ctaux = ds_taux[din] + #ctime = datetime.datetime.strptime(ctaux[taux_var].valid_time,'%Y%m%d_%H%M%S') + ctime = datetime.datetime.strptime(str(ctaux['time'][0].values)[0:10],'%Y-%m-%d') + time.append(ctime.strftime('%Y-%m-%d')) + #ctaux = ctaux.assign_coords(time=ctime) + #ds_taux[din] = ctaux.expand_dims("time") + + ctauy = ds_tauy[din] + #ctauy = ctauy.assign_coords(time=ctime) + #ds_tauy[din] = ctauy.expand_dims("time") + + csst = ds_sst[din] + #csst = csst.assign_coords(time=ctime) + #ds_sst[din] = csst.expand_dims("time") + + cucur = ds_ucur[din] + #cucur = cucur.assign_coords(time=ctime) + #ds_ucur[din] = cucur.expand_dims("time") + + cvcur = ds_vcur[din] + #cvcur = cvcur.assign_coords(time=ctime) + #ds_vcur[din] = cvcur.expand_dims("time") + + time = np.array(time,dtype='datetime64[D]') + + everything_taux = xr.concat(ds_taux,"time") + uflxa = everything_taux[taux_var] + + everything_tauy = xr.concat(ds_tauy,"time") + vflxa = everything_tauy[tauy_var] + + everything_sst = xr.concat(ds_sst,"time") + sst = everything_sst[sst_var] + + everything_ucur = xr.concat(ds_ucur,"time") + u = everything_ucur[u_var] + + everything_vcur = xr.concat(ds_vcur,"time") + v = everything_vcur[v_var] + print(v.shape) + + # get taux_mjo and tauy_mjo + + uflx_mjo=mj.calc_tau_MJO(uflxa,taux_eofs,filtx1,filtx2) + vflx_mjo=mj.calc_tau_MJO(vflxa,tauy_eofs,filty1,filty2) + + wpower=mj.calc_wpower_MJO(u,v,uflx_mjo,vflx_mjo) + + #sst = ds.sst.sel(lat=slice(-5,5)).mean(dim='lat',skipna=True) + sst = sst.sel(lat=slice(-5,5)).mean(dim='lat',skipna=True) + + wmjoks = wpower.sel(lat=slice(-5,5)).mean(dim='lat',skipna=True) + + make,maki=mj.make_maki(sst,wmjoks,meofs) + + #Get the index output file + index_file = os.environ['MAKE_MAKI_OUTPUT_TEXT_FILE'] + import csv + date_format = '%Y-%m-%d' + strDate=datetime.datetime.strptime(str(sst['time'][0].values)[0:10],date_format) + endDate=datetime.datetime.strptime(str(sst['time'][-1].values)[0:10],date_format) + time_mon = pd.date_range(strDate, endDate, freq='MS')#.to_pydatetime().tolist() + with open(index_file+'.csv', 'w', newline='') as file: + writer = csv.writer(file) + writer.writerow(["Date", "MaKE", "MaKI"]) + for i in range(len(make)): + writer.writerow([time_mon[i], make[i].data, maki[i].data]) + + #Get times for plotting MaKE and MaKI indices + plot_time_format = os.environ['PLOT_TIME_FMT'] + plot_start_time = datetime.datetime.strptime(os.environ['PLOT_TIME_BEG'],plot_time_format) + plot_end_time = datetime.datetime.strptime(os.environ['PLOT_TIME_END'],plot_time_format) + + make_plot = make.sel(time=slice(plot_start_time,plot_end_time)) + maki_plot = maki.sel(time=slice(plot_start_time,plot_end_time)) + + # Get the output name and format for the MaKE and MaKi plot + plot_name = os.path.join(oplot_dir,os.environ.get(inlabel+'_PLOT_OUTPUT_NAME',inlabel+'_MAKE_MAKI_timeseries')) + plot_format = os.environ.get(inlabel+'_PLOT_OUTPUT_FORMAT','png') + + #plot the MaKE-MaKI indices + plt.plot_make_maki(make_plot,maki_plot,np.array(make_plot['time'].values),plot_name,plot_format) + + +def main(): + + # Get the EOF files + taux_eofs_file = os.environ['TAUX_EOF_INPUT_FILE'] + tauy_eofs_file = os.environ['TAUY_EOF_INPUT_FILE'] + meofs_file = os.environ['WMJOK_SST_EOF_INPUT_FILE'] + + # Read in the EOFS + print('Reading the EOFs') + taux_eofs,tauy_eofs,meofs = read_eofs(taux_eofs_file, tauy_eofs_file, meofs_file) + print('Done with reading EOFs') + + #Get the filter weights files + filtx1fil = os.environ['TAUX_Filter1_TEXTFILE'] + filtx2fil = os.environ['TAUX_Filter2_TEXTFILE'] + filty1fil = os.environ['TAUY_Filter1_TEXTFILE'] + filty2fil = os.environ['TAUY_Filter2_TEXTFILE'] + + # Read in the weights of the filters + filtx1,filtx2,filty1,filty2 = read_filters(filtx1fil,filtx2fil,filtx2fil,filty2fil) + + # Get Number of Obs per day + spd = os.environ.get('OBS_PER_DAY',1) + + # Check for an output plot directory + oplot_dir = os.environ.get('PLOT_OUTPUT_DIR','') + if not oplot_dir: + obase = os.environ['SCRIPT_OUTPUT_BASE'] + oplot_dir = os.path.join(obase,'plots') + if not os.path.exists(oplot_dir): + os.makedirs(oplot_dir) + + # Determine if doing forecast or obs + run_obs_mjo_enso = os.environ.get('RUN_OBS', 'False').lower() + run_fcst_mjo_enso = os.environ.get('RUN_FCST', 'False').lower() + + if (run_obs_mjo_enso == 'true'): + run_mjo_enso_steps('OBS', spd, filtx1, filtx2, filty1, filty2, taux_eofs, tauy_eofs, meofs,oplot_dir) + + if (run_fcst_mjo_enso == 'true'): + run_mjo_enso_steps('FCST', spd, filtx1, filtx2, filty1, filty2, taux_eofs, tauy_eofs, meofs,oplot_dir) + + # nothing selected + if (run_obs_mjo_enso == 'false') and (run_fcst_mjo_enso == 'false'): + warnings.warn('Forecast and Obs runs not selected, nothing will be calculated') + warnings.warn('Set RUN_FCST or RUN_OBS in the [user_en_vars] section to generate output') + +if __name__ == "__main__": + main()