55import pandas as pd
66
77from polaris .mpas import area_for_field , time_index_from_xtime
8- from polaris .ocean .model import OceanIOStep
98from polaris .ocean .convergence import (
109 get_resolution_for_task ,
1110 get_timestep_for_task ,
1211)
12+ from polaris .ocean .model import OceanIOStep
1313from polaris .viz import use_mplstyle
1414
1515
@@ -123,8 +123,11 @@ def setup(self):
123123 """
124124 config = self .config
125125 dependencies = self .dependencies_dict
126- refinement_factors = config .getlist ('convergence' ,
127- 'refinement_factors' ,
126+ if self .refinement == 'time' :
127+ option = 'refinement_factors_time'
128+ else :
129+ option = 'refinement_factors_space'
130+ refinement_factors = config .getlist ('convergence' , option ,
128131 dtype = float )
129132 for refinement_factor in refinement_factors :
130133 base_mesh = dependencies ['mesh' ][refinement_factor ]
@@ -175,8 +178,13 @@ def plot_convergence(self, variable_name, title, zidx):
175178 field_name = variable_name )
176179
177180 error = []
178- refinement_factors = config .getlist ('convergence' ,
179- 'refinement_factors' ,
181+ if self .refinement == 'time' :
182+ option = 'refinement_factors_time'
183+ header = 'time step'
184+ else :
185+ option = 'refinement_factors_space'
186+ header = 'resolution'
187+ refinement_factors = config .getlist ('convergence' , option ,
180188 dtype = float )
181189 resolutions = list ()
182190 timesteps = list ()
@@ -203,7 +211,7 @@ def plot_convergence(self, variable_name, title, zidx):
203211 error_array = np .array (error )
204212 filename = f'convergence_{ variable_name } .csv'
205213 data = np .stack ((refinement_array , error_array ), axis = 1 )
206- df = pd .DataFrame (data , columns = ['resolution' , error_type ])
214+ df = pd .DataFrame (data , columns = [header , error_type ])
207215 df .to_csv (f'convergence_{ variable_name } .csv' , index = False )
208216
209217 convergence_failed = False
0 commit comments