From 1b679157ecc12916f583837774d6c4a221ded5b0 Mon Sep 17 00:00:00 2001 From: Guillaume Vernieres Date: Fri, 14 Mar 2025 20:28:16 +0000 Subject: [PATCH 1/3] fixed ocn recentering for the gfs cycle, need tidy --- ush/soca/marine_recenter.py | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/ush/soca/marine_recenter.py b/ush/soca/marine_recenter.py index dd7ff3afd..13b987ecb 100644 --- a/ush/soca/marine_recenter.py +++ b/ush/soca/marine_recenter.py @@ -143,24 +143,19 @@ def initialize(self): nmem_ens = self.task_config.NMEM_ENS gPDYstr = self.task_config.gPDY.strftime("%Y%m%d") ens_member_list = [] + #logger.info(f"--- comin ocean: {self.task_config.COMIN_OCEAN_HISTORY_ENS_PREV}") + #logger.info(f"--- comin ice: {self.task_config.COMIN_ICE_HISTORY_ENS_PREV}") + #comin_ens={'ocean': self.task_config.COMIN_OCEAN_HISTORY_ENS_PREV, + # 'ice': self.task_config.COMIN_ICE_HISTORY_ENS_PREV} for mem in range(1, nmem_ens+1): for domain in ['ocean', 'ice']: - mem_dir = os.path.join(self.task_config.ROTDIR, - f'enkf{RUN}.{gPDYstr}', - f'{gcyc}', - f'mem{str(mem).zfill(3)}', - 'model', - domain, - 'history') - mem_dir_real = os.path.realpath(mem_dir) - f00 = f"enkf{RUN}.{domain}.t{gcyc}z.inst.f009.nc" - - fname_in = os.path.abspath(os.path.join(mem_dir_real, f00)) + fname_in = os.path.join(self.task_config.DATA, '..', 'ensdata', 'ens', f'{domain}.{str(mem)}.nc') fname_out = os.path.realpath(os.path.join(self.task_config.ens_dir, - domain+"."+str(mem)+".nc")) + f'{domain}.{str(mem)}.nc')) ens_member_list.append([fname_in, fname_out]) + logger.info(f"--- source: {fname_in}") - FileHandler({'copy': ens_member_list}).sync() + FileHandler({'link': ens_member_list}).sync() # stage ensemble ice restarts # make a copy of the CICE6 restart logger.info("---------------- Stage ensemble CICE restarts") @@ -176,7 +171,7 @@ def initialize(self): ens_cice_list = [] for mem in range(1, nmem_ens+1): mem_dir = os.path.join(self.task_config.ROTDIR, - f'enkf{RUN}.{gPDYstr}', + f'enkfgdas.{gPDYstr}', f'{gcyc}', f'mem{str(mem).zfill(3)}', 'model', @@ -215,7 +210,7 @@ def run(self): logger.info("run") chdir(self.task_config.DATA) - + logger.info(f"@@@@@@@@@@@@@ RUNDIR: {self.task_config.DATA}") exec_cmd_gridgen = Executable(self.task_config.APRUN_OCNANALECEN) exec_name_gridgen = os.path.join(self.task_config.EXECgfs, 'gdas_soca_gridgen.x') exec_cmd_gridgen.add_default_arg(exec_name_gridgen) From c3c0698728db96823f103db233371c61deb149af Mon Sep 17 00:00:00 2001 From: Guillaume Vernieres Date: Mon, 17 Mar 2025 12:17:09 +0000 Subject: [PATCH 2/3] py norms --- ush/soca/marine_recenter.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ush/soca/marine_recenter.py b/ush/soca/marine_recenter.py index 13b987ecb..2ba7601c9 100644 --- a/ush/soca/marine_recenter.py +++ b/ush/soca/marine_recenter.py @@ -143,10 +143,6 @@ def initialize(self): nmem_ens = self.task_config.NMEM_ENS gPDYstr = self.task_config.gPDY.strftime("%Y%m%d") ens_member_list = [] - #logger.info(f"--- comin ocean: {self.task_config.COMIN_OCEAN_HISTORY_ENS_PREV}") - #logger.info(f"--- comin ice: {self.task_config.COMIN_ICE_HISTORY_ENS_PREV}") - #comin_ens={'ocean': self.task_config.COMIN_OCEAN_HISTORY_ENS_PREV, - # 'ice': self.task_config.COMIN_ICE_HISTORY_ENS_PREV} for mem in range(1, nmem_ens+1): for domain in ['ocean', 'ice']: fname_in = os.path.join(self.task_config.DATA, '..', 'ensdata', 'ens', f'{domain}.{str(mem)}.nc') From f317287c790605ec541dc4e2708ed85f7341c438 Mon Sep 17 00:00:00 2001 From: Guillaume Vernieres Date: Mon, 17 Mar 2025 08:45:02 -0400 Subject: [PATCH 3/3] tidy --- ush/soca/marine_recenter.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ush/soca/marine_recenter.py b/ush/soca/marine_recenter.py index 2ba7601c9..3d9edd03f 100644 --- a/ush/soca/marine_recenter.py +++ b/ush/soca/marine_recenter.py @@ -131,11 +131,6 @@ def initialize(self): ens_bkg_list = parse_j2yaml(self.task_config.MARINE_ENSDA_STAGE_BKG_YAML_TMPL, self.task_config) FileHandler(ens_bkg_list).sync() -# ################################################################################ -# # Copy initial condition -# -# bkg_utils.stage_ic(self.task_config.bkg_dir, self.task_config.DATA, gcyc) -# ################################################################################ # stage ensemble members logger.info("---------------- Stage ensemble members") @@ -206,7 +201,7 @@ def run(self): logger.info("run") chdir(self.task_config.DATA) - logger.info(f"@@@@@@@@@@@@@ RUNDIR: {self.task_config.DATA}") + exec_cmd_gridgen = Executable(self.task_config.APRUN_OCNANALECEN) exec_name_gridgen = os.path.join(self.task_config.EXECgfs, 'gdas_soca_gridgen.x') exec_cmd_gridgen.add_default_arg(exec_name_gridgen)