From 24aa34856e1d2481d3577e6a26d782b5026f176d Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Fri, 21 Jul 2023 12:02:42 -0400 Subject: [PATCH 01/15] Re-write OBCS Tides code (following issue #617) also enable to add tidal velocity to Tangential Flow --- pkg/obcs/OBCS_FIELDS.h | 223 ++++++++++++++++++--------------- pkg/obcs/OBCS_OPTIONS.h | 7 +- pkg/obcs/OBCS_PARAMS.h | 60 +++++---- pkg/obcs/obcs_add_tides.F | 126 ++++++++++++++++--- pkg/obcs/obcs_check.F | 4 +- pkg/obcs/obcs_init_fixed.F | 166 ++++++++++++++++++++++++ pkg/obcs/obcs_init_variables.F | 82 ++---------- pkg/obcs/obcs_readparms.F | 220 +++++++++++++++++++++++++------- 8 files changed, 620 insertions(+), 268 deletions(-) diff --git a/pkg/obcs/OBCS_FIELDS.h b/pkg/obcs/OBCS_FIELDS.h index 14a39df0f5..f5d25470df 100644 --- a/pkg/obcs/OBCS_FIELDS.h +++ b/pkg/obcs/OBCS_FIELDS.h @@ -19,195 +19,210 @@ C OBCS_ldRec :: time-record currently loaded (in temp arrays *[1]) #endif /* ALLOW_OBCS_PRESCRIBE */ C-- COMMON /OBCS_FIELDS/ Open boundary related stuff -C OB[N,S,E,W][u,v,w,t,s,eta,am,ph] :: Fields with boundary conditions, +C OB[N,S,E,W][u,v,w,t,s,eta] :: Fields with boundary conditions, C the letter combinations mean: C N/S/E/W :: northern/southern/eastern/western boundary C u/v/w/t/s :: ocean u/v/w velocities, temperature/salinity C eta :: sea surface height -C am/ph :: tidal amplitude (m/s) / phase (s) C OBNu is the U value imposed at the Northern OB C OBNv is the V value imposed at the Northern OB C OBNt is the T value imposed at the Northern OB C OBNs is the S value imposed at the Northern OB C etc +C +C OB[N,S,E,W]_[u,v]Tide[Cs,Sn] :: for each tidal comp, barotropic tidal velocity +C Cs,Sn :: Amplitude x Cos(Phase), Amplitude x Sin(Phase) +C (units: m/s) #ifdef ALLOW_OBCS_NORTH COMMON /OBCS_FIELDS_N/ - & OBNu,OBNv,OBNt,OBNs - _RL OBNu (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNv (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNt (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNs (1-Olx:sNx+Olx,Nr,nSx,nSy) + & OBNu, OBNv, OBNt, OBNs + _RL OBNu (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNv (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNt (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNs (1-OLx:sNx+OLx,Nr,nSx,nSy) # ifdef ALLOW_OBCS_PRESCRIBE COMMON /OBCS_FIELDS_AUX_N/ - & OBNu0,OBNv0,OBNt0,OBNs0, - & OBNu1,OBNv1,OBNt1,OBNs1 - _RL OBNu0 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNv0 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNt0 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNs0 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNu1 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNv1 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNt1 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNs1 (1-Olx:sNx+Olx,Nr,nSx,nSy) + & OBNu0, OBNv0, OBNt0, OBNs0, + & OBNu1, OBNv1, OBNt1, OBNs1 + _RL OBNu0 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNv0 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNt0 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNs0 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNu1 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNv1 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNt1 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNs1 (1-OLx:sNx+OLx,Nr,nSx,nSy) # endif /* ALLOW_OBCS_PRESCRIBE */ # ifdef ALLOW_OBCS_STEVENS - COMMON /OBCS_FIELDS_STEVENS_N/ - & OBNvStevens, OBNtStevens, OBNsStevens - _RL OBNvStevens (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNtStevens (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBNsStevens (1-Olx:sNx+Olx,Nr,nSx,nSy) + COMMON /OBCS_FIELDS_STEVENS_N/ + & OBNvStevens, OBNtStevens, OBNsStevens + _RL OBNvStevens (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNtStevens (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBNsStevens (1-OLx:sNx+OLx,Nr,nSx,nSy) # endif /* ALLOW_OBCS_STEVENS */ # ifdef ALLOW_OBCS_TIDES - COMMON /OBCS_FIELDS_TIDES_N/ OBNam, OBNph - _RL OBNam (1-Olx:sNx+Olx,tidalComponents,nSx,nSy) - _RL OBNph (1-Olx:sNx+Olx,tidalComponents,nSx,nSy) + COMMON /OBCS_FIELDS_TIDES_N/ + & OBN_uTideCs, OBN_uTideSn, OBN_vTideCs, OBN_vTideSn + _RL OBN_uTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy) + _RL OBN_uTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy) + _RL OBN_vTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy) + _RL OBN_vTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy) # endif /* ALLOW_OBCS_TIDES */ #endif /* ALLOW_OBCS_NORTH */ #ifdef ALLOW_OBCS_SOUTH COMMON /OBCS_FIELDS_S/ & OBSu,OBSv,OBSt,OBSs - _RL OBSu (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSv (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSt (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSs (1-Olx:sNx+Olx,Nr,nSx,nSy) + _RL OBSu (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSv (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSt (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSs (1-OLx:sNx+OLx,Nr,nSx,nSy) # ifdef ALLOW_OBCS_PRESCRIBE COMMON /OBCS_FIELDS_AUX_S/ & OBSu0,OBSv0,OBSt0,OBSs0, & OBSu1,OBSv1,OBSt1,OBSs1 - _RL OBSu0 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSv0 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSt0 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSs0 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSu1 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSv1 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSt1 (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSs1 (1-Olx:sNx+Olx,Nr,nSx,nSy) + _RL OBSu0 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSv0 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSt0 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSs0 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSu1 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSv1 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSt1 (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSs1 (1-OLx:sNx+OLx,Nr,nSx,nSy) # endif /* ALLOW_OBCS_PRESCRIBE */ # ifdef ALLOW_OBCS_STEVENS - COMMON /OBCS_FIELDS_STEVENS_S/ + COMMON /OBCS_FIELDS_STEVENS_S/ & OBSvStevens, OBStStevens, OBSsStevens - _RL OBSvStevens (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBStStevens (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSsStevens (1-Olx:sNx+Olx,Nr,nSx,nSy) + _RL OBSvStevens (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBStStevens (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSsStevens (1-OLx:sNx+OLx,Nr,nSx,nSy) # endif /* ALLOW_OBCS_STEVENS */ # ifdef ALLOW_OBCS_TIDES - COMMON /OBCS_FIELDS_TIDES_S/ OBSam, OBSph - _RL OBSam (1-Olx:sNx+Olx,tidalComponents,nSx,nSy) - _RL OBSph (1-Olx:sNx+Olx,tidalComponents,nSx,nSy) + COMMON /OBCS_FIELDS_TIDES_S/ + & OBS_uTideCs, OBS_uTideSn, OBS_vTideCs, OBS_vTideSn + _RL OBS_uTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy) + _RL OBS_uTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy) + _RL OBS_vTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy) + _RL OBS_vTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy) # endif /* ALLOW_OBCS_TIDES */ #endif /* ALLOW_OBCS_SOUTH */ #ifdef ALLOW_OBCS_EAST COMMON /OBCS_FIELDS_E/ & OBEu,OBEv,OBEt,OBEs - _RL OBEu (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEv (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEt (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEs (1-Oly:sNy+Oly,Nr,nSx,nSy) + _RL OBEu (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEv (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEt (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEs (1-OLy:sNy+OLy,Nr,nSx,nSy) # ifdef ALLOW_OBCS_PRESCRIBE COMMON /OBCS_FIELDS_AUX_E/ & OBEu0,OBEv0,OBEt0,OBEs0, & OBEu1,OBEv1,OBEt1,OBEs1 - _RL OBEu0 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEv0 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEt0 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEs0 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEu1 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEv1 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEt1 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEs1 (1-Oly:sNy+Oly,Nr,nSx,nSy) + _RL OBEu0 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEv0 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEt0 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEs0 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEu1 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEv1 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEt1 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEs1 (1-OLy:sNy+OLy,Nr,nSx,nSy) # endif /* ALLOW_OBCS_PRESCRIBE */ # ifdef ALLOW_OBCS_STEVENS COMMON /OBCS_FIELDS_STEVENS_E/ & OBEuStevens, OBEtStevens, OBEsStevens - _RL OBEuStevens (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEtStevens (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBEsStevens (1-Oly:sNy+Oly,Nr,nSx,nSy) + _RL OBEuStevens (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEtStevens (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBEsStevens (1-OLy:sNy+OLy,Nr,nSx,nSy) # endif /* ALLOW_OBCS_STEVENS */ # ifdef ALLOW_OBCS_TIDES - COMMON /OBCS_FIELDS_TIDES_E/ OBEam, OBEph - _RL OBEam (1-Oly:sNy+Oly,tidalComponents,nSx,nSy) - _RL OBEph (1-Oly:sNy+Oly,tidalComponents,nSx,nSy) + COMMON /OBCS_FIELDS_TIDES_E/ + & OBE_uTideCs, OBE_uTideSn, OBE_vTideCs, OBE_vTideSn + _RL OBE_uTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy) + _RL OBE_uTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy) + _RL OBE_vTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy) + _RL OBE_vTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy) # endif /* ALLOW_OBCS_TIDES */ #endif /* ALLOW_OBCS_EAST */ #ifdef ALLOW_OBCS_WEST COMMON /OBCS_FIELDS_W/ & OBWu,OBWv,OBWt,OBWs - _RL OBWu (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWv (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWt (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWs (1-Oly:sNy+Oly,Nr,nSx,nSy) + _RL OBWu (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWv (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWt (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWs (1-OLy:sNy+OLy,Nr,nSx,nSy) # ifdef ALLOW_OBCS_PRESCRIBE COMMON /OBCS_FIELDS_AUX_W/ & OBWu0,OBWv0,OBWt0,OBWs0, & OBWu1,OBWv1,OBWt1,OBWs1 - _RL OBWu0 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWv0 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWt0 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWs0 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWu1 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWv1 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWt1 (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWs1 (1-Oly:sNy+Oly,Nr,nSx,nSy) + _RL OBWu0 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWv0 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWt0 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWs0 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWu1 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWv1 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWt1 (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWs1 (1-OLy:sNy+OLy,Nr,nSx,nSy) # endif /* ALLOW_OBCS_PRESCRIBE */ # ifdef ALLOW_OBCS_STEVENS COMMON /OBCS_FIELDS_STEVENS_W/ & OBWuStevens, OBWtStevens, OBWsStevens - _RL OBWuStevens (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWtStevens (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWsStevens (1-Oly:sNy+Oly,Nr,nSx,nSy) + _RL OBWuStevens (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWtStevens (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWsStevens (1-OLy:sNy+OLy,Nr,nSx,nSy) # endif /* ALLOW_OBCS_STEVENS */ # ifdef ALLOW_OBCS_TIDES - COMMON /OBCS_FIELDS_TIDES_W/ OBWam, OBWph - _RL OBWam (1-Oly:sNy+Oly,tidalComponents,nSx,nSy) - _RL OBWph (1-Oly:sNy+Oly,tidalComponents,nSx,nSy) + COMMON /OBCS_FIELDS_TIDES_W/ + & OBW_uTideCs, OBW_uTideSn, OBW_vTideCs, OBW_vTideSn + _RL OBW_uTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy) + _RL OBW_uTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy) + _RL OBW_vTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy) + _RL OBW_vTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy) # endif /* ALLOW_OBCS_TIDES */ #endif /* ALLOW_OBCS_WEST */ #ifdef ALLOW_NONHYDROSTATIC COMMON /OBCS_NH_FIELDS/ & OBNw, OBSw, OBEw, OBWw - _RL OBNw (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSw (1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBEw (1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWw (1-Oly:sNy+Oly,Nr,nSx,nSy) + _RL OBNw (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSw (1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBEw (1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWw (1-OLy:sNy+OLy,Nr,nSx,nSy) #ifdef ALLOW_OBCS_PRESCRIBE COMMON /OBCS_NH_FIELDS_AUX/ & OBNw0, OBSw0, OBEw0, OBWw0, & OBNw1, OBSw1, OBEw1, OBWw1 - _RL OBNw0(1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSw0(1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBEw0(1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWw0(1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBNw1(1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBSw1(1-Olx:sNx+Olx,Nr,nSx,nSy) - _RL OBEw1(1-Oly:sNy+Oly,Nr,nSx,nSy) - _RL OBWw1(1-Oly:sNy+Oly,Nr,nSx,nSy) + _RL OBNw0(1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSw0(1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBEw0(1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWw0(1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBNw1(1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBSw1(1-OLx:sNx+OLx,Nr,nSx,nSy) + _RL OBEw1(1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL OBWw1(1-OLy:sNy+OLy,Nr,nSx,nSy) #endif /* ALLOW_OBCS_PRESCRIBE */ #endif /* ALLOW_NONHYDROSTATIC */ #ifdef NONLIN_FRSURF COMMON /OBCS_NLFS_FIELDS/ & OBNeta, OBSeta, OBEeta, OBWeta - _RL OBNeta (1-Olx:sNx+Olx,nSx,nSy) - _RL OBSeta (1-Olx:sNx+Olx,nSx,nSy) - _RL OBEeta (1-Oly:sNy+Oly,nSx,nSy) - _RL OBWeta (1-Oly:sNy+Oly,nSx,nSy) + _RL OBNeta (1-OLx:sNx+OLx,nSx,nSy) + _RL OBSeta (1-OLx:sNx+OLx,nSx,nSy) + _RL OBEeta (1-OLy:sNy+OLy,nSx,nSy) + _RL OBWeta (1-OLy:sNy+OLy,nSx,nSy) #ifdef ALLOW_OBCS_PRESCRIBE COMMON /OBCS_NLFS_FIELDS_AUX/ & OBNeta0,OBSeta0,OBEeta0,OBWeta0, & OBNeta1,OBSeta1,OBEeta1,OBWeta1 - _RL OBNeta0(1-Olx:sNx+Olx,nSx,nSy) - _RL OBSeta0(1-Olx:sNx+Olx,nSx,nSy) - _RL OBEeta0(1-Oly:sNy+Oly,nSx,nSy) - _RL OBWeta0(1-Oly:sNy+Oly,nSx,nSy) - _RL OBNeta1(1-Olx:sNx+Olx,nSx,nSy) - _RL OBSeta1(1-Olx:sNx+Olx,nSx,nSy) - _RL OBEeta1(1-Oly:sNy+Oly,nSx,nSy) - _RL OBWeta1(1-Oly:sNy+Oly,nSx,nSy) + _RL OBNeta0(1-OLx:sNx+OLx,nSx,nSy) + _RL OBSeta0(1-OLx:sNx+OLx,nSx,nSy) + _RL OBEeta0(1-OLy:sNy+OLy,nSx,nSy) + _RL OBWeta0(1-OLy:sNy+OLy,nSx,nSy) + _RL OBNeta1(1-OLx:sNx+OLx,nSx,nSy) + _RL OBSeta1(1-OLx:sNx+OLx,nSx,nSy) + _RL OBEeta1(1-OLy:sNy+OLy,nSx,nSy) + _RL OBWeta1(1-OLy:sNy+OLy,nSx,nSy) #endif /* ALLOW_OBCS_PRESCRIBE */ #endif /* NONLIN_FRSURF */ diff --git a/pkg/obcs/OBCS_OPTIONS.h b/pkg/obcs/OBCS_OPTIONS.h index ca7d6ee6d2..bdb9b69eb1 100644 --- a/pkg/obcs/OBCS_OPTIONS.h +++ b/pkg/obcs/OBCS_OPTIONS.h @@ -34,10 +34,11 @@ C Include hooks to sponge layer treatment of pkg/seaice variables C balance barotropic velocity #define ALLOW_OBCS_BALANCE -C add tidal contributions to normal OB flow -C NOTE that at the moment tidal forcing is applied -C only to "normal" flow. +C Allow to add barotropic tidal contributions to OB velocity #undef ALLOW_OBCS_TIDES +C Put back old OB-Tides code, slower and only deals with Normal Flow component +C Note: just to be able to recover identical, machine truncation level output +#undef OLD_OBCS_TIDES C Use older implementation of obcs in seaice-dynamics C note: most of the "experimental" options listed below have not yet diff --git a/pkg/obcs/OBCS_PARAMS.h b/pkg/obcs/OBCS_PARAMS.h index de915b339b..1e4bc72a5a 100644 --- a/pkg/obcs/OBCS_PARAMS.h +++ b/pkg/obcs/OBCS_PARAMS.h @@ -16,23 +16,26 @@ C | can be safely included without OBCS_OPTIONS.h C *==========================================================* CEOP -C tidalComponents :: number of tidal components to be applied -C OBCS_maxConnect :: maximum number of connected parts - INTEGER tidalComponents +C OBCS_tideCompSize :: size of tidal components arrays +C (not smaller than OBCS_nTidalComp) +C OBCS_maxConnect :: maximum number of connected parts + INTEGER OBCS_tideCompSize INTEGER OBCS_maxConnect - PARAMETER ( tidalComponents = 10 ) + PARAMETER ( OBCS_tideCompSize = 10 ) PARAMETER ( OBCS_maxConnect = sNx+sNy ) C-- COMMON /OBC_PARM_I/ OBCS integer-type parameter C OBCS_u1_adv_T :: >0: use 1rst O. upwind adv-scheme @ OB (=1: only if outflow) C OBCS_u1_adv_S :: >0: use 1rst O. upwind adv-scheme @ OB (=1: only if outflow) +C OBCS_nTidalComp :: number of tidal components to be applied C OBCS_monSelect :: select group of variables to monitor C spongeThickness :: number grid points that make up the sponge layer (def=0) COMMON /OBC_PARM_I/ & OBCS_u1_adv_T, OBCS_u1_adv_S, - & OBCS_monSelect, + & OBCS_nTidalComp, OBCS_monSelect, & spongeThickness INTEGER OBCS_u1_adv_T, OBCS_u1_adv_S + INTEGER OBCS_nTidalComp INTEGER OBCS_monSelect INTEGER spongeThickness @@ -49,6 +52,9 @@ C useStevensAdvection C :: use advective contribution for open boundary C computations following Stevens (1990), default = true C +C useOBCSprescribe :: read boundary conditions from a file +C (overrides Orlanski and other boundary values) +C useOBCStides :: modify OB velocity by adding barotropic tidal component C useOBCSsponge :: turns on sponge layer along boundaries (def=false) C OBCSsponge_N :: turns on sponge layer along North boundary (def=true) C OBCSsponge_S :: turns on sponge layer along South boundary (def=true) @@ -65,11 +71,6 @@ C C useOBCSbalance :: balance the volume flux through boundary C at every time step C OBCSbalanceSurf :: also include surface flux of mass into balance -C useOBCStides :: modify OB normal flow to add tidal forcing -C NOTE that at the moment tidal forcing is applied -C only to "normal" flow. -C useOBCSprescribe :: read boundary conditions from a file -C (overrides Orlanski and other boundary values) C OBCSprintDiags :: print boundary values to STDOUT (def=true) C OBCSfixTopo :: check and adjust topography for problematic gradients C across boundaries (def=true) @@ -80,13 +81,13 @@ C across boundaries (def=true) & useStevensNorth,useStevensSouth, & useStevensEast,useStevensWest, & useStevensPhaseVel, useStevensAdvection, - & useOBCSsponge, + & useOBCSprescribe, useOBCStides, useOBCSsponge, & OBCSsponge_N, OBCSsponge_S, & OBCSsponge_E, OBCSsponge_W, & OBCSsponge_UatNS, OBCSsponge_UatEW, & OBCSsponge_VatNS, OBCSsponge_VatEW, & OBCSsponge_Theta, OBCSsponge_Salt, useLinearSponge, - & useOBCSbalance, OBCSbalanceSurf, useOBCStides, useOBCSprescribe, + & useOBCSbalance, OBCSbalanceSurf, & OBCSprintDiags, & OBCSfixTopo LOGICAL useOrlanskiNorth @@ -99,6 +100,8 @@ C across boundaries (def=true) LOGICAL useStevensWest LOGICAL useStevensPhaseVel LOGICAL useStevensAdvection + LOGICAL useOBCSprescribe + LOGICAL useOBCStides LOGICAL useOBCSsponge LOGICAL OBCSsponge_N LOGICAL OBCSsponge_S @@ -113,12 +116,11 @@ C across boundaries (def=true) LOGICAL useLinearSponge LOGICAL useOBCSbalance LOGICAL OBCSbalanceSurf - LOGICAL useOBCStides - LOGICAL useOBCSprescribe LOGICAL OBCSprintDiags LOGICAL OBCSfixTopo C-- COMMON /OBC_PARM_R/ OBCS real-type parameter +C OBCS_tidalPeriod :: tidal period (s) for each tidal component C OBCS_balanceFacN/S/E/W :: weighting factor for balancing OB normal flow C OBCS_uvApplyFac :: multiplying factor to U,V normal comp. when applying C OBC to 2nd column/row (for backward compatibility). @@ -129,21 +131,20 @@ C layer (inner); relaxation time scales in-between C are linearly interpolated from these values C T/SrelaxStevens :: relaxation time scale (in seconds) for T/S-points C for Stevens boundary conditions -C tidalPeriod :: tidal period (s) COMMON /OBC_PARM_R/ + & OBCS_tidalPeriod, & OBCS_balanceFacN, OBCS_balanceFacS, & OBCS_balanceFacE, OBCS_balanceFacW, & OBCS_uvApplyFac, & OBCS_monitorFreq, - & tidalPeriod, - & Urelaxobcsinner,Urelaxobcsbound, - & Vrelaxobcsinner,Vrelaxobcsbound, + & Urelaxobcsinner, Urelaxobcsbound, + & Vrelaxobcsinner, Vrelaxobcsbound, & TrelaxStevens, SrelaxStevens + _RL OBCS_tidalPeriod(OBCS_tideCompSize) _RL OBCS_balanceFacN, OBCS_balanceFacS _RL OBCS_balanceFacE, OBCS_balanceFacW _RL OBCS_uvApplyFac _RL OBCS_monitorFreq - _RL tidalPeriod(tidalComponents) _RS Urelaxobcsinner _RS Urelaxobcsbound _RS Vrelaxobcsinner @@ -152,12 +153,13 @@ C tidalPeriod :: tidal period (s) _RS SrelaxStevens C-- COMMON /OBC_FILES/ OBCS character-type parameter -C OB[N,S,E,W][u,v,w,t,s,eta,am,ph]File :: Files with boundary conditions, +C OB[N,S,E,W][u,v,w,t,s,eta]File :: Files with boundary conditions, C the letter combinations mean: C N/S/E/W :: northern/southern/eastern/western boundary C u/v/w/t/s :: ocean u/v/w velocities, temperature/salinity C eta :: sea surface height -C am/ph :: tidal amplitude (m/s) / phase (s) +C OB[N,S,E,W]_[u,v]Tid[Am,Ph]File :: Files with barotropic tidal components +C Am/Ph :: Amplitude (m/s) / Phase (s) C OB[N,S,E,W]connectFile :: Files with connected piece Id for N/S/E/W OB grid pt C insideOBmaskFile :: File to specify Inside OB region mask (zero beyond OB) COMMON /OBC_FILES/ @@ -166,9 +168,11 @@ C insideOBmaskFile :: File to specify Inside OB region mask (zero beyond OB) & OBNwFile, OBSwFile, OBEwFile, OBWwFile, & OBNtFile, OBStFile, OBEtFile, OBWtFile, & OBNsFile, OBSsFile, OBEsFile, OBWsFile, - & OBNetaFile,OBSetaFile,OBEetaFile,OBWetaFile, - & OBNamFile, OBSamFile, OBEamFile, OBWamFile, - & OBNphFile, OBSphFile, OBEphFile, OBWphFile, + & OBNetaFile, OBSetaFile, OBEetaFile, OBWetaFile, + & OBN_uTidAmFile, OBS_uTidAmFile, OBE_uTidAmFile, OBW_uTidAmFile, + & OBN_vTidAmFile, OBS_vTidAmFile, OBE_vTidAmFile, OBW_vTidAmFile, + & OBN_uTidPhFile, OBS_uTidPhFile, OBE_uTidPhFile, OBW_uTidPhFile, + & OBN_vTidPhFile, OBS_vTidPhFile, OBE_vTidPhFile, OBW_vTidPhFile, & OBNconnectFile, OBSconnectFile, & OBEconnectFile, OBWconnectFile, & insideOBmaskFile @@ -178,9 +182,11 @@ C insideOBmaskFile :: File to specify Inside OB region mask (zero beyond OB) & OBNwFile, OBSwFile, OBEwFile, OBWwFile, & OBNtFile, OBStFile, OBEtFile, OBWtFile, & OBNsFile, OBSsFile, OBEsFile, OBWsFile, - & OBNetaFile,OBSetaFile,OBEetaFile,OBWetaFile, - & OBNamFile, OBSamFile, OBEamFile, OBWamFile, - & OBNphFile, OBSphFile, OBEphFile, OBWphFile, + & OBNetaFile, OBSetaFile, OBEetaFile, OBWetaFile, + & OBN_uTidAmFile, OBS_uTidAmFile, OBE_uTidAmFile, OBW_uTidAmFile, + & OBN_vTidAmFile, OBS_vTidAmFile, OBE_vTidAmFile, OBW_vTidAmFile, + & OBN_uTidPhFile, OBS_uTidPhFile, OBE_uTidPhFile, OBW_uTidPhFile, + & OBN_vTidPhFile, OBS_vTidPhFile, OBE_vTidPhFile, OBW_vTidPhFile, & OBNconnectFile, OBSconnectFile, & OBEconnectFile, OBWconnectFile, & insideOBmaskFile diff --git a/pkg/obcs/obcs_add_tides.F b/pkg/obcs/obcs_add_tides.F index 646a34bc52..8874e8f678 100644 --- a/pkg/obcs/obcs_add_tides.F +++ b/pkg/obcs/obcs_add_tides.F @@ -36,7 +36,6 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) #ifdef ALLOW_OBCS #ifdef ALLOW_OBCS_TIDES - C !FUNCTIONS: C !LOCAL VARIABLES: @@ -47,17 +46,24 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) INTEGER bi, bj INTEGER i, j, k, iB, jB INTEGER td + _RL timePhase, timeCos, timeSin + _RL uTide, vTide #ifdef ALLOW_DEBUG IF (debugMode) CALL DEBUG_ENTER('OBCS_ADD_TIDES',myThid) #endif C-- Add tidal currents: - DO td=1,tidalComponents - IF ( tidalPeriod(td) .GT. 0.D0 ) THEN + DO td=1,OBCS_nTidalComp + IF ( OBCS_tidalPeriod(td) .NE. zeroRL ) THEN + + timePhase = myTime * twoRL * PI / OBCS_tidalPeriod(td) + timeCos = COS( timePhase ) + timeSin = SIN( timePhase ) DO bj=myByLo(myThid),myByHi(myThid) DO bi=myBxLo(myThid),myBxHi(myThid) +#ifdef OLD_OBCS_TIDES #ifdef ALLOW_OBCS_EAST IF ( tileHasOBE(bi,bj) ) THEN DO k=1,Nr @@ -65,15 +71,14 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) iB = OB_Ie(j,bi,bj) IF ( iB.NE.OB_indexNone ) THEN OBEu(j,k,bi,bj) = OBEu(j,k,bi,bj) + - & maskW(iB,j,k,bi,bj) * OBEam(j,td,bi,bj) * - & COS( 2.D0 * PI * (myTime-OBEph(j,td,bi,bj)) / - & tidalPeriod(td) ) + & maskW(iB,j,k,bi,bj) * OBE_uTideCs(j,td,bi,bj) * + & COS( 2.D0 * PI * (myTime-OBE_uTideSn(j,td,bi,bj)) / + & OBCS_tidalPeriod(td) ) ENDIF ENDDO ENDDO ENDIF #endif /* ALLOW_OBCS_EAST */ - #ifdef ALLOW_OBCS_WEST IF ( tileHasOBW(bi,bj) ) THEN DO k=1,Nr @@ -81,15 +86,14 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) iB = OB_Iw(j,bi,bj) IF ( iB.NE.OB_indexNone ) THEN OBWu(j,k,bi,bj) = OBWu(j,k,bi,bj) + - & maskW(1+iB,j,k,bi,bj) * OBWam(j,td,bi,bj) * - & COS( 2.D0 * PI * (myTime-OBWph(j,td,bi,bj)) / - & tidalPeriod(td) ) + & maskW(1+iB,j,k,bi,bj) * OBW_uTideCs(j,td,bi,bj) * + & COS( 2.D0 * PI * (myTime-OBW_uTideSn(j,td,bi,bj)) / + & OBCS_tidalPeriod(td) ) ENDIF ENDDO ENDDO ENDIF #endif /* ALLOW_OBCS_WEST */ - #ifdef ALLOW_OBCS_NORTH IF ( tileHasOBN(bi,bj) ) THEN DO k=1,Nr @@ -97,15 +101,14 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) jB = OB_Jn(i,bi,bj) IF ( jB.NE.OB_indexNone ) THEN OBNv(i,k,bi,bj) = OBNv(i,k,bi,bj) + - & maskS(i,jB,k,bi,bj) * OBNam(i,td,bi,bj) * - & COS( 2.D0 * PI * (myTime-OBNph(i,td,bi,bj)) / - & tidalPeriod(td) ) + & maskS(i,jB,k,bi,bj) * OBN_vTideCs(i,td,bi,bj) * + & COS( 2.D0 * PI * (myTime-OBN_vTideSn(i,td,bi,bj)) / + & OBCS_tidalPeriod(td) ) ENDIF ENDDO ENDDO ENDIF #endif /* ALLOW_OBCS_NORTH */ - #ifdef ALLOW_OBCS_SOUTH IF ( tileHasOBS(bi,bj) ) THEN DO k=1,Nr @@ -113,17 +116,104 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) jB = OB_Js(i,bi,bj) IF ( jB.NE.OB_indexNone ) THEN OBSv(i,k,bi,bj) = OBSv(i,k,bi,bj) + - & maskS(i,1+jB,k,bi,bj)* OBSam(i,td,bi,bj) * - & COS( 2.D0 * PI * (myTime-OBSph(i,td,bi,bj)) / - & tidalPeriod(td) ) + & maskS(i,1+jB,k,bi,bj)* OBS_vTideCs(i,td,bi,bj) * + & COS( 2.D0 * PI * (myTime-OBS_vTideSn(i,td,bi,bj)) / + & OBCS_tidalPeriod(td) ) ENDIF ENDDO ENDDO ENDIF #endif /* ALLOW_OBCS_SOUTH */ +#else /* OLD_OBCS_TIDES */ + +#ifdef ALLOW_OBCS_EAST + IF ( tileHasOBE(bi,bj) ) THEN + DO j=1-OLy,sNy+OLy + iB = OB_Ie(j,bi,bj) + IF ( iB.NE.OB_indexNone ) THEN + uTide = OBE_uTideCs(j,td,bi,bj) * timeCos + & + OBE_uTideSn(j,td,bi,bj) * timeSin + vTide = OBE_vTideCs(j,td,bi,bj) * timeCos + & + OBE_vTideSn(j,td,bi,bj) * timeSin + DO k=1,Nr + OBEu(j,k,bi,bj) = OBEu(j,k,bi,bj) + & + uTide * maskW(iB,j,k,bi,bj) + OBEv(j,k,bi,bj) = OBEv(j,k,bi,bj) + & + vTide * maskS(iB,j,k,bi,bj) + ENDDO + ENDIF + ENDDO + ENDIF +#endif /* ALLOW_OBCS_EAST */ + +#ifdef ALLOW_OBCS_WEST + IF ( tileHasOBW(bi,bj) ) THEN + DO j=1-OLy,sNy+OLy + iB = OB_Iw(j,bi,bj) + IF ( iB.NE.OB_indexNone ) THEN + uTide = OBW_uTideCs(j,td,bi,bj) * timeCos + & + OBW_uTideSn(j,td,bi,bj) * timeSin + vTide = OBW_vTideCs(j,td,bi,bj) * timeCos + & + OBW_vTideSn(j,td,bi,bj) * timeSin + DO k=1,Nr + OBWu(j,k,bi,bj) = OBWu(j,k,bi,bj) + & + uTide * maskW(1+iB,j,k,bi,bj) + OBWv(j,k,bi,bj) = OBWv(j,k,bi,bj) + & + vTide * maskS(iB,j,k,bi,bj) + ENDDO + ENDIF + ENDDO + ENDIF +#endif /* ALLOW_OBCS_WEST */ + +#ifdef ALLOW_OBCS_NORTH + IF ( tileHasOBN(bi,bj) ) THEN + DO i=1-OLx,sNx+OLx + jB = OB_Jn(i,bi,bj) + IF ( jB.NE.OB_indexNone ) THEN + uTide = OBN_uTideCs(i,td,bi,bj) * timeCos + & + OBN_uTideSn(i,td,bi,bj) * timeSin + vTide = OBN_vTideCs(i,td,bi,bj) * timeCos + & + OBN_vTideSn(i,td,bi,bj) * timeSin + DO k=1,Nr + OBNu(i,k,bi,bj) = OBNu(i,k,bi,bj) + & + uTide * maskW(i,jB,k,bi,bj) + OBNv(i,k,bi,bj) = OBNv(i,k,bi,bj) + & + vTide * maskS(i,jB,k,bi,bj) + ENDDO + ENDIF + ENDDO + ENDIF +#endif /* ALLOW_OBCS_NORTH */ + +#ifdef ALLOW_OBCS_SOUTH + IF ( tileHasOBS(bi,bj) ) THEN + DO i=1-OLx,sNx+OLx + jB = OB_Js(i,bi,bj) + IF ( jB.NE.OB_indexNone ) THEN + uTide = OBS_uTideCs(i,td,bi,bj) * timeCos + & + OBS_uTideSn(i,td,bi,bj) * timeSin + vTide = OBS_vTideCs(i,td,bi,bj) * timeCos + & + OBS_vTideSn(i,td,bi,bj) * timeSin + DO k=1,Nr + OBSu(i,k,bi,bj) = OBSu(i,k,bi,bj) + & + uTide * maskW(i,jB,k,bi,bj) + OBSv(i,k,bi,bj) = OBSv(i,k,bi,bj) + & + vTide * maskS(i,1+jB,k,bi,bj) + ENDDO + ENDIF + ENDDO + ENDIF +#endif /* ALLOW_OBCS_SOUTH */ + +#endif /* OLD_OBCS_TIDES */ + +C end bi,bj loops ENDDO ENDDO + +C end if (tidalPeriod <> 0) and end td (= tidal comp. index) do-loop ENDIF ENDDO diff --git a/pkg/obcs/obcs_check.F b/pkg/obcs/obcs_check.F index f07d837dae..bf6130093e 100644 --- a/pkg/obcs/obcs_check.F +++ b/pkg/obcs/obcs_check.F @@ -135,8 +135,8 @@ SUBROUTINE OBCS_CHECK( myThid ) C CALL WRITE_0D_L( useOBCStides, INDEX_NONE, & 'useOBCStides =', ' /* apply tidal forcing through OB */') - CALL WRITE_1D_RL( tidalPeriod, tidalComponents, INDEX_I, - & 'tidalPeriod = ', ' /* (s) */') + CALL WRITE_1D_RL( OBCS_tidalPeriod, OBCS_tideCompSize, INDEX_I, + & 'OBCS_tidalPeriod = ', ' /* (s) */') C CALL WRITE_0D_L( useOrlanskiNorth, INDEX_NONE, & 'useOrlanskiNorth =', ' /* use Orlanski for northern bound. */') diff --git a/pkg/obcs/obcs_init_fixed.F b/pkg/obcs/obcs_init_fixed.F index 8a563bb025..71bed36942 100644 --- a/pkg/obcs/obcs_init_fixed.F +++ b/pkg/obcs/obcs_init_fixed.F @@ -23,6 +23,9 @@ SUBROUTINE OBCS_INIT_FIXED( myThid ) #include "GRID.h" #include "OBCS_PARAMS.h" #include "OBCS_GRID.h" +#ifdef ALLOW_OBCS_TIDES +# include "OBCS_FIELDS.h" +#endif C !INPUT/OUTPUT PARAMETERS: C myThid :: my Thread Id. number @@ -45,6 +48,10 @@ SUBROUTINE OBCS_INIT_FIXED( myThid ) INTEGER iB, jB LOGICAL flag INTEGER ioUnit +#ifdef ALLOW_OBCS_TIDES + INTEGER k, fp + _RL recipPeriod, locPh +#endif #ifdef ALLOW_DEBUG IF (debugMode) CALL DEBUG_ENTER('OBCS_INIT_FIXED',myThid) @@ -400,6 +407,165 @@ SUBROUTINE OBCS_INIT_FIXED( myThid ) C-- Set domain connected-piece Id for OB grid points: CALL OBCS_SET_CONNECT( myThid ) +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| +#ifdef ALLOW_OBCS_TIDES +C== Set-up OB Tidal forcing +C (kept fixed during simulation --> moved here from obcs_init_variables.F) + +C-- Initialise Tidal Component coeff: + DO bj = myByLo(myThid), myByHi(myThid) + DO bi = myBxLo(myThid), myBxHi(myThid) + DO k=1,OBCS_tideCompSize + DO i=1-OLx,sNx+OLx +# ifdef ALLOW_OBCS_NORTH + OBN_uTideCs(i,k,bi,bj) = 0. _d 0 + OBN_uTideSn(i,k,bi,bj) = 0. _d 0 + OBN_vTideCs(i,k,bi,bj) = 0. _d 0 + OBN_vTideSn(i,k,bi,bj) = 0. _d 0 +# endif +# ifdef ALLOW_OBCS_SOUTH + OBS_uTideCs(i,k,bi,bj) = 0. _d 0 + OBS_uTideSn(i,k,bi,bj) = 0. _d 0 + OBS_vTideCs(i,k,bi,bj) = 0. _d 0 + OBS_vTideSn(i,k,bi,bj) = 0. _d 0 +# endif + ENDDO + DO j=1-OLy,sNy+OLy +# ifdef ALLOW_OBCS_EAST + OBE_uTideCs(j,k,bi,bj) = 0. _d 0 + OBE_uTideSn(j,k,bi,bj) = 0. _d 0 + OBE_vTideCs(j,k,bi,bj) = 0. _d 0 + OBE_vTideSn(j,k,bi,bj) = 0. _d 0 +# endif +# ifdef ALLOW_OBCS_WEST + OBW_uTideCs(j,k,bi,bj) = 0. _d 0 + OBW_uTideSn(j,k,bi,bj) = 0. _d 0 + OBW_vTideCs(j,k,bi,bj) = 0. _d 0 + OBW_vTideSn(j,k,bi,bj) = 0. _d 0 +# endif + ENDDO + ENDDO + ENDDO + ENDDO + _BARRIER + + IF ( useOBCStides ) THEN +C-- Read from files Barotropic Tidal Amplitude and Phase: + fp = readBinaryPrec + +# ifdef ALLOW_OBCS_NORTH + IF ( OBN_uTidAmFile .NE. ' ' ) + & CALL READ_REC_XZ_RL( OBN_uTidAmFile, fp, OBCS_tideCompSize, + & OBN_uTideCs, 1, nIter0, myThid ) + IF ( OBN_uTidPhFile .NE. ' ' ) + & CALL READ_REC_XZ_RL( OBN_uTidPhFile, fp, OBCS_tideCompSize, + & OBN_uTideSn, 1, nIter0, myThid ) + IF ( OBN_vTidAmFile .NE. ' ' ) + & CALL READ_REC_XZ_RL( OBN_vTidAmFile, fp, OBCS_tideCompSize, + & OBN_vTideCs, 1, nIter0, myThid ) + IF ( OBN_vTidPhFile .NE. ' ' ) + & CALL READ_REC_XZ_RL( OBN_vTidPhFile, fp, OBCS_tideCompSize, + & OBN_vTideSn, 1, nIter0, myThid ) +# endif +# ifdef ALLOW_OBCS_SOUTH + IF ( OBS_uTidAmFile .NE. ' ' ) + & CALL READ_REC_XZ_RL( OBS_uTidAmFile, fp, OBCS_tideCompSize, + & OBS_uTideCs, 1, nIter0, myThid ) + IF ( OBS_uTidPhFile .NE. ' ' ) + & CALL READ_REC_XZ_RL( OBS_uTidPhFile, fp, OBCS_tideCompSize, + & OBS_uTideSn, 1, nIter0, myThid ) + IF ( OBS_vTidAmFile .NE. ' ' ) + & CALL READ_REC_XZ_RL( OBS_vTidAmFile, fp, OBCS_tideCompSize, + & OBS_vTideCs, 1, nIter0, myThid ) + IF ( OBS_vTidPhFile .NE. ' ' ) + & CALL READ_REC_XZ_RL( OBS_vTidPhFile, fp, OBCS_tideCompSize, + & OBS_vTideSn, 1, nIter0, myThid ) +# endif +# ifdef ALLOW_OBCS_EAST + IF ( OBE_uTidAmFile .NE. ' ' ) + & CALL READ_REC_YZ_RL( OBE_uTidAmFile, fp, OBCS_tideCompSize, + & OBE_uTideCs, 1, nIter0, myThid ) + IF ( OBE_uTidPhFile .NE. ' ' ) + & CALL READ_REC_YZ_RL( OBE_uTidPhFile, fp, OBCS_tideCompSize, + & OBE_uTideSn, 1, nIter0, myThid ) + IF ( OBE_vTidAmFile .NE. ' ' ) + & CALL READ_REC_YZ_RL( OBE_vTidAmFile, fp, OBCS_tideCompSize, + & OBE_vTideCs, 1, nIter0, myThid ) + IF ( OBE_vTidPhFile .NE. ' ' ) + & CALL READ_REC_YZ_RL( OBE_vTidPhFile, fp, OBCS_tideCompSize, + & OBE_vTideSn, 1, nIter0, myThid ) +# endif +# ifdef ALLOW_OBCS_WEST + IF ( OBW_uTidAmFile .NE. ' ' ) + & CALL READ_REC_YZ_RL( OBW_uTidAmFile, fp, OBCS_tideCompSize, + & OBW_uTideCs, 1, nIter0, myThid ) + IF ( OBW_uTidPhFile .NE. ' ' ) + & CALL READ_REC_YZ_RL( OBW_uTidPhFile, fp, OBCS_tideCompSize, + & OBW_uTideSn, 1, nIter0, myThid ) + IF ( OBW_vTidAmFile .NE. ' ' ) + & CALL READ_REC_YZ_RL( OBW_vTidAmFile, fp, OBCS_tideCompSize, + & OBW_vTideCs, 1, nIter0, myThid ) + IF ( OBW_vTidPhFile .NE. ' ' ) + & CALL READ_REC_YZ_RL( OBW_vTidPhFile, fp, OBCS_tideCompSize, + & OBW_vTideSn, 1, nIter0, myThid ) +# endif + _BARRIER + +C-- Set Tidal coeff (= Amplit x COS & SIN of Phase ) from Amplitude and Phase: +#ifndef OLD_OBCS_TIDES + DO bj = myByLo(myThid), myByHi(myThid) + DO bi = myBxLo(myThid), myBxHi(myThid) + DO k=1,OBCS_nTidalComp + IF ( OBCS_tidalPeriod(k).NE.zeroRL ) THEN + recipPeriod = twoRL * PI / OBCS_tidalPeriod(k) + DO i=1-OLx,sNx+OLx +# ifdef ALLOW_OBCS_NORTH + locPh = OBN_uTideSn(i,k,bi,bj)*recipPeriod + OBN_uTideSn(i,k,bi,bj) = OBN_uTideCs(i,k,bi,bj)*SIN(locPh) + OBN_uTideCs(i,k,bi,bj) = OBN_uTideCs(i,k,bi,bj)*COS(locPh) + locPh = OBN_vTideSn(i,k,bi,bj)*recipPeriod + OBN_vTideSn(i,k,bi,bj) = OBN_vTideCs(i,k,bi,bj)*SIN(locPh) + OBN_vTideCs(i,k,bi,bj) = OBN_vTideCs(i,k,bi,bj)*COS(locPh) +# endif +# ifdef ALLOW_OBCS_SOUTH + locPh = OBS_uTideSn(i,k,bi,bj)*recipPeriod + OBS_uTideSn(i,k,bi,bj) = OBS_uTideCs(i,k,bi,bj)*SIN(locPh) + OBS_uTideCs(i,k,bi,bj) = OBS_uTideCs(i,k,bi,bj)*COS(locPh) + locPh = OBS_vTideSn(i,k,bi,bj)*recipPeriod + OBS_vTideSn(i,k,bi,bj) = OBS_vTideCs(i,k,bi,bj)*SIN(locPh) + OBS_vTideCs(i,k,bi,bj) = OBS_vTideCs(i,k,bi,bj)*COS(locPh) +# endif + ENDDO + DO j=1-OLy,sNy+OLy +# ifdef ALLOW_OBCS_EAST + locPh = OBE_uTideSn(j,k,bi,bj)*recipPeriod + OBE_uTideSn(j,k,bi,bj) = OBE_uTideCs(j,k,bi,bj)*SIN(locPh) + OBE_uTideCs(j,k,bi,bj) = OBE_uTideCs(j,k,bi,bj)*COS(locPh) + locPh = OBE_vTideSn(j,k,bi,bj)*recipPeriod + OBE_vTideSn(j,k,bi,bj) = OBE_vTideCs(j,k,bi,bj)*SIN(locPh) + OBE_vTideCs(j,k,bi,bj) = OBE_vTideCs(j,k,bi,bj)*COS(locPh) +# endif +# ifdef ALLOW_OBCS_WEST + locPh = OBW_uTideSn(j,k,bi,bj)*recipPeriod + OBW_uTideSn(j,k,bi,bj) = OBW_uTideCs(j,k,bi,bj)*SIN(locPh) + OBW_uTideCs(j,k,bi,bj) = OBW_uTideCs(j,k,bi,bj)*COS(locPh) + locPh = OBW_vTideSn(j,k,bi,bj)*recipPeriod + OBW_vTideSn(j,k,bi,bj) = OBW_vTideCs(j,k,bi,bj)*SIN(locPh) + OBW_vTideCs(j,k,bi,bj) = OBW_vTideCs(j,k,bi,bj)*COS(locPh) +# endif + ENDDO + ENDIF + ENDDO +C- end bi.bj loops: + ENDDO + ENDDO +#endif /* ndef OLD_OBCS_TIDES */ +C- end if useOBCStides + ENDIF + +#endif /* ALLOW_OBCS_TIDES */ +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + #ifdef ALLOW_DEBUG IF (debugMode) CALL DEBUG_LEAVE('OBCS_INIT_FIXED',myThid) #endif diff --git a/pkg/obcs/obcs_init_variables.F b/pkg/obcs/obcs_init_variables.F index 7bcd9a8caa..5935f1b52c 100644 --- a/pkg/obcs/obcs_init_variables.F +++ b/pkg/obcs/obcs_init_variables.F @@ -42,7 +42,6 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) C == Local variables == INTEGER bi, bj INTEGER i, j, k - INTEGER fp #ifdef ALLOW_PTRACERS INTEGER iTracer #endif /* ALLOW_PTRACERS */ @@ -51,8 +50,6 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) IF (debugMode) CALL DEBUG_ENTER('OBCS_INIT_VARIABLES',myThid) #endif - fp = readBinaryPrec - DO bj = myByLo(myThid), myByHi(myThid) DO bi = myBxLo(myThid), myBxHi(myThid) @@ -60,7 +57,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) OBCS_ldRec(bi,bj) = 0 #endif DO k=1,Nr - DO i=1-Olx,sNx+Olx + DO i=1-OLx,sNx+OLx #ifdef ALLOW_OBCS_NORTH OBNu(i,k,bi,bj)=0. _d 0 OBNv(i,k,bi,bj)=0. _d 0 @@ -106,7 +103,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) #endif /* ALLOW_OBCS_SOUTH */ ENDDO - DO j=1-Oly,sNy+Oly + DO j=1-OLy,sNy+OLy #ifdef ALLOW_OBCS_EAST OBEu(j,k,bi,bj)=0. _d 0 OBEv(j,k,bi,bj)=0. _d 0 @@ -155,7 +152,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) #ifdef ALLOW_NONHYDROSTATIC DO k=1,Nr - DO i=1-Olx,sNx+Olx + DO i=1-OLx,sNx+OLx OBNw (i,k,bi,bj) = 0. _d 0 OBSw (i,k,bi,bj) = 0. _d 0 # ifdef ALLOW_OBCS_PRESCRIBE @@ -165,7 +162,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) OBSw1(i,k,bi,bj) = 0. _d 0 # endif ENDDO - DO j=1-Oly,sNy+Oly + DO j=1-OLy,sNy+OLy OBEw (j,k,bi,bj) = 0. _d 0 OBWw (j,k,bi,bj) = 0. _d 0 # ifdef ALLOW_OBCS_PRESCRIBE @@ -179,7 +176,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) #endif /* ALLOW_NONHYDROSTATIC */ #ifdef NONLIN_FRSURF - DO i=1-Olx,sNx+Olx + DO i=1-OLx,sNx+OLx OBNeta (i,bi,bj) = 0. _d 0 OBSeta (i,bi,bj) = 0. _d 0 # ifdef ALLOW_OBCS_PRESCRIBE @@ -189,7 +186,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) OBSeta1(i,bi,bj) = 0. _d 0 # endif ENDDO - DO j=1-Oly,sNy+Oly + DO j=1-OLy,sNy+OLy OBEeta (j,bi,bj) = 0. _d 0 OBWeta (j,bi,bj) = 0. _d 0 # ifdef ALLOW_OBCS_PRESCRIBE @@ -204,7 +201,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| #ifdef ALLOW_SEAICE - DO i=1-Olx,sNx+Olx + DO i=1-OLx,sNx+OLx #ifdef ALLOW_OBCS_NORTH OBNa (i,bi,bj)=0. _d 0 OBNh (i,bi,bj)=0. _d 0 @@ -246,7 +243,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) OBSvice1(i,bi,bj)=0. _d 0 #endif /* ALLOW_OBCS_SOUTH */ ENDDO - DO j=1-Oly,sNy+Oly + DO j=1-OLy,sNy+OLy #ifdef ALLOW_OBCS_EAST OBEa (j,bi,bj)=0. _d 0 OBEh (j,bi,bj)=0. _d 0 @@ -296,7 +293,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) #endif DO iTracer=1,PTRACERS_numInUse DO k=1,Nr - DO i=1-Olx,sNx+Olx + DO i=1-OLx,sNx+OLx #ifdef ALLOW_OBCS_NORTH OBNptr (i,k,bi,bj,iTracer)=0. _d 0 # ifdef ALLOW_OBCS_PRESCRIBE @@ -314,7 +311,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) #endif /* ALLOW_OBCS_SOUTH */ ENDDO - DO j=1-Oly,sNy+Oly + DO j=1-OLy,sNy+OLy #ifdef ALLOW_OBCS_EAST OBEptr (j,k,bi,bj,iTracer)=0. _d 0 # ifdef ALLOW_OBCS_PRESCRIBE @@ -353,63 +350,8 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) ENDDO ENDDO -#ifdef ALLOW_OBCS_TIDES - DO bj = myByLo(myThid), myByHi(myThid) - DO bi = myBxLo(myThid), myBxHi(myThid) - DO k=1,tidalComponents - DO i=1-Olx,sNx+Olx -# ifdef ALLOW_OBCS_NORTH - OBNam (i,k,bi,bj)=0. _d 0 - OBNph (i,k,bi,bj)=0. _d 0 -# endif -# ifdef ALLOW_OBCS_SOUTH - OBSam (i,k,bi,bj)=0. _d 0 - OBSph (i,k,bi,bj)=0. _d 0 -# endif - ENDDO - DO j=1-Oly,sNy+Oly -# ifdef ALLOW_OBCS_EAST - OBEam (j,k,bi,bj)=0. _d 0 - OBEph (j,k,bi,bj)=0. _d 0 -# endif -# ifdef ALLOW_OBCS_WEST - OBWam (j,k,bi,bj)=0. _d 0 - OBWph (j,k,bi,bj)=0. _d 0 -# endif - ENDDO - ENDDO - ENDDO - ENDDO - _BARRIER -# ifdef ALLOW_OBCS_NORTH - IF ( OBNamFile .NE. ' ' ) CALL READ_REC_XZ_RL - & (OBNamFile,fp,tidalComponents,OBNam,1,nIter0,myThid ) - IF ( OBNphFile .NE. ' ' ) CALL READ_REC_XZ_RL - & (OBNphFile,fp,tidalComponents,OBNph,1,nIter0,myThid ) -# endif -# ifdef ALLOW_OBCS_SOUTH - IF ( OBSamFile .NE. ' ' ) CALL READ_REC_XZ_RL - & (OBSamFile,fp,tidalComponents,OBSam,1,nIter0,myThid ) - IF ( OBSphFile .NE. ' ' ) CALL READ_REC_XZ_RL - & (OBSphFile,fp,tidalComponents,OBSph,1,nIter0,myThid ) -# endif -# ifdef ALLOW_OBCS_EAST - IF ( OBEamFile .NE. ' ' ) CALL READ_REC_YZ_RL - & (OBEamFile,fp,tidalComponents,OBEam,1,nIter0,myThid ) - IF ( OBEphFile .NE. ' ' ) CALL READ_REC_YZ_RL - & (OBEphFile,fp,tidalComponents,OBEph,1,nIter0,myThid ) -# endif -# ifdef ALLOW_OBCS_WEST - IF ( OBWamFile .NE. ' ' ) CALL READ_REC_YZ_RL - & (OBWamFile,fp,tidalComponents,OBWam,1,nIter0,myThid ) - IF ( OBWphFile .NE. ' ' ) CALL READ_REC_YZ_RL - & (OBWphFile,fp,tidalComponents,OBWph,1,nIter0,myThid ) -# endif - _BARRIER -#endif /* ALLOW_OBCS_TIDES */ - C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| -C Only needed for Orlanski: +C Only needed for Orlanski or Stevens OB: IF ( nIter0.NE.0 .OR. pickupSuff.NE.' ' ) THEN CALL OBCS_READ_PICKUP( nIter0, myThid ) ENDIF @@ -480,7 +422,7 @@ SUBROUTINE OBCS_INIT_VARIABLES( myThid ) DO bi = myBxLo(myThid), myBxHi(myThid) CALL OBCS_APPLY_PTRACER( I bi, bj, 0, iTracer, - U ptracer(1-Olx,1-Oly,1,bi,bj,iTracer), + U pTracer(1-OLx,1-OLy,1,bi,bj,iTracer), I myThid ) ENDDO ENDDO diff --git a/pkg/obcs/obcs_readparms.F b/pkg/obcs/obcs_readparms.F index 990cea5e3a..fb57790a83 100644 --- a/pkg/obcs/obcs_readparms.F +++ b/pkg/obcs/obcs_readparms.F @@ -35,13 +35,14 @@ SUBROUTINE OBCS_READPARMS( myThid ) #endif /* ALLOW_EXCH2 */ C !INPUT/OUTPUT PARAMETERS: -C === Routine arguments === INTEGER myThid #ifdef ALLOW_OBCS +C !FUNCTIONS: + INTEGER ILNBLNK + EXTERNAL ILNBLNK C !LOCAL VARIABLES: -C === Local variables === C msgBuf :: Informational/error message buffer C iUnit :: Work variable for IO unit number C OB_indexUnset :: OB index value for places where no OB is defined @@ -127,37 +128,45 @@ SUBROUTINE OBCS_READPARMS( myThid ) INTEGER OBEW_Nx, OBEW_Ny CEOP -C retired parameters +C Retired parameters: INTEGER nRetired LOGICAL useOBCSYearlyFields + _RL tidalPeriod(OBCS_tideCompSize) + CHARACTER*(MAX_LEN_FNAM) + & OBNamFile, OBSamFile, OBEamFile, OBWamFile, + & OBNphFile, OBSphFile, OBEphFile, OBWphFile NAMELIST /OBCS_PARM01/ & insideOBmaskFile, & OBNconnectFile, OBSconnectFile, & OBEconnectFile, OBWconnectFile, - & OB_Jnorth,OB_Jsouth,OB_Ieast,OB_Iwest, + & OB_Jnorth, OB_Jsouth, OB_Ieast, OB_Iwest, & OB_singleJnorth, OB_singleJsouth, - & OB_singleIeast, OB_singleIwest, - & useOrlanskiNorth,useOrlanskiSouth, - & useOrlanskiEast,useOrlanskiWest, - & useStevensNorth,useStevensSouth, - & useStevensEast,useStevensWest, + & OB_singleIeast, OB_singleIwest, + & useOrlanskiNorth, useOrlanskiSouth, + & useOrlanskiEast, useOrlanskiWest, + & useStevensNorth, useStevensSouth, + & useStevensEast, useStevensWest, + & useOBCSprescribe, useOBCStides, OBCS_tidalPeriod, & OBCS_u1_adv_T, OBCS_u1_adv_S, - & OBNuFile,OBNvFile,OBNtFile,OBNsFile,OBNaFile,OBNhFile, - & OBSuFile,OBSvFile,OBStFile,OBSsFile,OBSaFile,OBShFile, - & OBEuFile,OBEvFile,OBEtFile,OBEsFile,OBEaFile,OBEhFile, - & OBWuFile,OBWvFile,OBWtFile,OBWsFile,OBWaFile,OBWhFile, - & OBNslFile,OBSslFile,OBEslFile,OBWslFile, - & OBNsnFile,OBSsnFile,OBEsnFile,OBWsnFile, - & OBNuiceFile,OBSuiceFile,OBEuiceFile,OBWuiceFile, - & OBNviceFile,OBSviceFile,OBEviceFile,OBWviceFile, - & OBNetaFile, OBSetaFile, OBEetaFile, OBWetaFile, - & OBNwFile, OBSwFile, OBEwFile, OBWwFile, - & OBNAmFile, OBSAmFile, OBEAmFile, OBWAmFile, - & OBNPhFile, OBSPhFile, OBEPhFile, OBWPhFile, + & OBNuFile, OBNvFile, OBNtFile, OBNsFile, OBNetaFile, + & OBSuFile, OBSvFile, OBStFile, OBSsFile, OBSetaFile, + & OBEuFile, OBEvFile, OBEtFile, OBEsFile, OBEetaFile, + & OBWuFile, OBWvFile, OBWtFile, OBWsFile, OBWetaFile, + & OBNwFile, OBSwFile, OBEwFile, OBWwFile, + & OBN_uTidAmFile, OBS_uTidAmFile, OBE_uTidAmFile, OBW_uTidAmFile, + & OBN_vTidAmFile, OBS_vTidAmFile, OBE_vTidAmFile, OBW_vTidAmFile, + & OBN_uTidPhFile, OBS_uTidPhFile, OBE_uTidPhFile, OBW_uTidPhFile, + & OBN_vTidPhFile, OBS_vTidPhFile, OBE_vTidPhFile, OBW_vTidPhFile, + & OBNaFile, OBSaFile, OBEaFile, OBWaFile, + & OBNhFile, OBShFile, OBEhFile, OBWhFile, + & OBNslFile, OBSslFile, OBEslFile, OBWslFile, + & OBNsnFile, OBSsnFile, OBEsnFile, OBWsnFile, + & OBNuiceFile, OBSuiceFile, OBEuiceFile, OBWuiceFile, + & OBNviceFile, OBSviceFile, OBEviceFile, OBWviceFile, #ifdef ALLOW_PTRACERS & OBCS_u1_adv_Tr, - & OBNptrFile,OBSptrFile,OBEptrFile,OBWptrFile, + & OBNptrFile, OBSptrFile, OBEptrFile, OBWptrFile, #endif & useOBCSsponge, useSeaiceSponge, & OBCSsponge_N , OBCSsponge_S, @@ -166,12 +175,13 @@ SUBROUTINE OBCS_READPARMS( myThid ) & OBCSsponge_VatNS, OBCSsponge_VatEW, & OBCSsponge_Theta, OBCSsponge_Salt, useLinearSponge, & useOBCSbalance, OBCSbalanceSurf, - & useOBCStides, useOBCSprescribe, & OBCS_balanceFacN, OBCS_balanceFacS, & OBCS_balanceFacE, OBCS_balanceFacW, - & useOBCSYearlyFields, OBCSfixTopo, - & OBCS_uvApplyFac, + & OBCSfixTopo, OBCS_uvApplyFac, & OBCS_monitorFreq, OBCS_monSelect, OBCSprintDiags, + & useOBCSYearlyFields, + & OBNAmFile, OBSAmFile, OBEAmFile, OBWAmFile, + & OBNPhFile, OBSPhFile, OBEPhFile, OBWPhFile, & tidalPeriod #ifdef ALLOW_ORLANSKI @@ -254,6 +264,8 @@ SUBROUTINE OBCS_READPARMS( myThid ) useStevensWest =.FALSE. useStevensPhaseVel =.TRUE. useStevensAdvection=.TRUE. + useOBCSprescribe =.FALSE. + useOBCStides =.FALSE. useOBCSsponge =.FALSE. useSeaiceSponge =.FALSE. OBCSsponge_N =.TRUE. @@ -275,7 +287,6 @@ SUBROUTINE OBCS_READPARMS( myThid ) OBCS_balanceFacW = 1. _d 0 OBCS_u1_adv_T = 0 OBCS_u1_adv_S = 0 - useOBCSprescribe =.FALSE. OBCSfixTopo =.FALSE. OBCS_uvApplyFac = 1. _d 0 OBCS_monitorFreq = monitorFreq @@ -330,14 +341,22 @@ SUBROUTINE OBCS_READPARMS( myThid ) OBSwFile = ' ' OBEwFile = ' ' OBWwFile = ' ' - OBNAmFile = ' ' - OBSAmFile = ' ' - OBEAmFile = ' ' - OBWAmFile = ' ' - OBNPhFile = ' ' - OBSPhFile = ' ' - OBEPhFile = ' ' - OBWPhFile = ' ' + OBN_uTidAmFile = ' ' + OBN_uTidPhFile = ' ' + OBN_vTidAmFile = ' ' + OBN_vTidPhFile = ' ' + OBS_uTidAmFile = ' ' + OBS_uTidPhFile = ' ' + OBS_vTidAmFile = ' ' + OBS_vTidPhFile = ' ' + OBE_uTidAmFile = ' ' + OBE_uTidPhFile = ' ' + OBE_vTidAmFile = ' ' + OBE_vTidPhFile = ' ' + OBW_uTidAmFile = ' ' + OBW_uTidPhFile = ' ' + OBW_vTidAmFile = ' ' + OBW_vTidPhFile = ' ' #ifdef ALLOW_PTRACERS DO iTracer = 1, PTRACERS_num OBCS_u1_adv_Tr(iTracer) = 0 @@ -347,14 +366,26 @@ SUBROUTINE OBCS_READPARMS( myThid ) OBWptrFile(iTracer) = ' ' ENDDO #endif -#ifdef ALLOW_OBCS_TIDES - DO i = 1, tidalComponents - tidalPeriod(i) = 0. _d 0 +c#ifdef ALLOW_OBCS_TIDES + OBCS_nTidalComp = 0 + DO i = 1, OBCS_tideCompSize + OBCS_tidalPeriod(i) = 0. _d 0 ENDDO -#endif +c#endif C- retired parameters nRetired = 0 useOBCSYearlyFields = .FALSE. + OBNamFile = 'retired-and-unset' + OBSamFile = 'retired-and-unset' + OBEamFile = 'retired-and-unset' + OBWamFile = 'retired-and-unset' + OBNphFile = 'retired-and-unset' + OBSphFile = 'retired-and-unset' + OBEphFile = 'retired-and-unset' + OBWphFile = 'retired-and-unset' + DO i = 1, OBCS_tideCompSize + tidalPeriod(i) = -1. _d 0 + ENDDO C Open and read the data.obcs file WRITE(msgBuf,'(A)') ' OBCS_READPARMS: opening data.obcs' @@ -371,14 +402,106 @@ SUBROUTINE OBCS_READPARMS( myThid ) C- retired parameter IF ( useOBCSYearlyFields ) THEN nRetired = nRetired + 1 - WRITE(msgBuf,'(A,A)') - & 'OBCS_READPARMS: "useOBCSYearlyFields"', - & ' no longer allowed in file "data.obcs"' + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"useOBCSYearlyFields" no longer allowed in file "data.obcs"' CALL PRINT_ERROR( msgBuf, myThid ) WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', & ' was moved to "data.exf", namelist: "EXF_NML_OBCS"' CALL PRINT_ERROR( msgBuf, myThid ) ENDIF + errCount = 0 + DO i = 1, OBCS_tideCompSize + IF ( tidalPeriod(i) .NE. -1. _d 0 ) errCount = errCount + 1 + ENDDO + IF ( errCount.NE.0 ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"tidalPeriod" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBCS_tidalPeriod" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF + i = ILNBLNK(OBNamFile) + IF ( i.NE.17 .OR. OBNamFile(1:17).NE.'retired-and-unset' ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"OBNamFile" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBN_vTidAmFile" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF + i = ILNBLNK(OBSamFile) + IF ( i.NE.17 .OR. OBSamFile(1:17).NE.'retired-and-unset' ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"OBSamFile" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBS_vTidAmFile" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF + i = ILNBLNK(OBEamFile) + IF ( i.NE.17 .OR. OBEamFile(1:17).NE.'retired-and-unset' ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"OBEamFile" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBE_uTidAmFile" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF + i = ILNBLNK(OBWamFile) + IF ( i.NE.17 .OR. OBWamFile(1:17).NE.'retired-and-unset' ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"OBWamFile" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBW_uTidAmFile" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF + i = ILNBLNK(OBNphFile) + IF ( i.NE.17 .OR. OBNphFile(1:17).NE.'retired-and-unset' ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"OBNphFile" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBN_vTidPhFile" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF + i = ILNBLNK(OBSphFile) + IF ( i.NE.17 .OR. OBSphFile(1:17).NE.'retired-and-unset' ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"OBSphFile" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBS_vTidPhFile" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF + i = ILNBLNK(OBEphFile) + IF ( i.NE.17 .OR. OBEphFile(1:17).NE.'retired-and-unset' ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"OBEphFile" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBE_uTidPhFile" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF + i = ILNBLNK(OBWphFile) + IF ( i.NE.17 .OR. OBWphFile(1:17).NE.'retired-and-unset' ) THEN + nRetired = nRetired + 1 + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & '"OBWphFile" no longer allowed in file "data.obcs"' + CALL PRINT_ERROR( msgBuf, myThid ) + WRITE(msgBuf,'(A,A)') 'OBCS_READPARMS: ', + & ' was replaced by "OBW_uTidPhFile" in same namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + ENDIF #ifdef ALLOW_ORLANSKI C Default Orlanski radiation parameters @@ -449,12 +572,21 @@ SUBROUTINE OBCS_READPARMS( myThid ) WRITE(msgBuf,'(A)') & 'OBCS_READPARMS: reading parameter file "data.obcs"' CALL PRINT_ERROR( msgBuf, myThid ) - WRITE(msgBuf,'(A)') - & 'some out of date parameters were found in namelist' + WRITE(msgBuf,'(I4,A)') nRetired, + & ' out of date parameters were found in namelist' CALL PRINT_ERROR( msgBuf, myThid ) STOP 'ABNORMAL END: S/R OBCS_READPARMS' ENDIF +#ifdef ALLOW_OBCS_TIDES + IF ( useOBCStides ) THEN +c OBCS_nTidalComp = 0 + DO i = 1, OBCS_tideCompSize + IF ( OBCS_tidalPeriod(i).NE.zeroRL ) OBCS_nTidalComp = i + ENDDO + ENDIF +#endif + C- Acount for single/uniform position OB setting: errCount = 0 IF ( OB_singleIeast.NE.OB_indexUnset ) THEN @@ -583,7 +715,7 @@ SUBROUTINE OBCS_READPARMS( myThid ) DO j=1-OLy,sNy+OLy OB_Ie(j,bi,bj) = OB_indexNone - OB_Iw(J,bi,bj) = OB_indexNone + OB_Iw(j,bi,bj) = OB_indexNone ENDDO #ifdef ALLOW_EXCH2 From 06a5070c43f2fff975b44a7f1051ef47bf80f244 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Fri, 21 Jul 2023 12:09:09 -0400 Subject: [PATCH 02/15] Undate parameter names --- verification/seaice_obcs/input.tides/data.obcs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/verification/seaice_obcs/input.tides/data.obcs b/verification/seaice_obcs/input.tides/data.obcs index 3a6972f668..8346da15eb 100644 --- a/verification/seaice_obcs/input.tides/data.obcs +++ b/verification/seaice_obcs/input.tides/data.obcs @@ -55,13 +55,13 @@ useOBCStides = .TRUE., #components = M2 S2 N2 K2 K1 O1 P1 Q1 Mf Mm #periods (hr) = 12.4206 12 12.6583 11.9672 23.9345 25.8193 24.0659 26.8684 327.8599 661.31 - tidalPeriod = 44714.16,43200.,45569.88,43081.92,86164.2,92949.48,86637.24,96726.24,1180295.64,2380716., - OBSamFile='OBSam.seaice_obcs', - OBNamFile='OBNam.seaice_obcs', - OBEamFile='OBEam.seaice_obcs', - OBWamFile='OBWam.seaice_obcs', - OBSphFile='OBSph.seaice_obcs', - OBNphFile='OBNph.seaice_obcs', - OBEphFile='OBEph.seaice_obcs', - OBWphFile='OBWph.seaice_obcs', + OBCS_tidalPeriod= 44714.16,43200.,45569.88,43081.92,86164.2,92949.48,86637.24,96726.24,1180295.64,2380716., + OBS_vTidAmFile='OBSam.seaice_obcs', + OBN_vTidAmFile='OBNam.seaice_obcs', + OBE_uTidAmFile='OBEam.seaice_obcs', + OBW_uTidAmFile='OBWam.seaice_obcs', + OBS_vTidPhFile='OBSph.seaice_obcs', + OBN_vTidPhFile='OBNph.seaice_obcs', + OBE_uTidPhFile='OBEph.seaice_obcs', + OBW_uTidPhFile='OBWph.seaice_obcs', & From 261116cadd26f3cc854a0035391ff6043db0a6f1 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Mon, 21 Aug 2023 12:54:18 -0400 Subject: [PATCH 03/15] Import updated test from PR #73 To also test the addition of tangential component of the tidal velocity, import the updated set-up from @antnguyen PR #73 (branch "obcs_tides_tangential") including updated ref output from the same PR. --- .../seaice_obcs/input.tides/OBEam.seaice_obcs | Bin 320 -> 0 bytes .../seaice_obcs/input.tides/OBEph.seaice_obcs | Bin 320 -> 0 bytes .../seaice_obcs/input.tides/OBNam.seaice_obcs | Bin 400 -> 0 bytes .../seaice_obcs/input.tides/OBNph.seaice_obcs | Bin 400 -> 0 bytes .../seaice_obcs/input.tides/OBSam.seaice_obcs | Bin 400 -> 0 bytes .../seaice_obcs/input.tides/OBSph.seaice_obcs | Bin 400 -> 0 bytes .../seaice_obcs/input.tides/OBWam.seaice_obcs | Bin 320 -> 0 bytes .../seaice_obcs/input.tides/OBWph.seaice_obcs | Bin 320 -> 0 bytes .../seaice_obcs/input.tides/data.obcs | 33 +- .../seaice_obcs/input.tides/mk_tides.m | 73 +- .../seaice_obcs/input.tides/prepare_run | 25 - .../input.tides/tidalComp.OBEamNvel.bin | Bin 0 -> 320 bytes .../input.tides/tidalComp.OBEamTvel.bin | Bin 0 -> 320 bytes .../input.tides/tidalComp.OBEphNvel.bin | Bin 0 -> 320 bytes .../input.tides/tidalComp.OBEphTvel.bin | Bin 0 -> 320 bytes .../input.tides/tidalComp.OBNamNvel.bin | Bin 0 -> 400 bytes .../input.tides/tidalComp.OBNphNvel.bin | Bin 0 -> 400 bytes .../input.tides/tidalComp.OBSamNvel.bin | Bin 0 -> 400 bytes .../input.tides/tidalComp.OBSamTvel.bin | Bin 0 -> 400 bytes .../input.tides/tidalComp.OBSphNvel.bin | Bin 0 -> 400 bytes .../input.tides/tidalComp.OBSphTvel.bin | Bin 0 -> 400 bytes .../input.tides/tidalComp.OBWamNvel.bin | Bin 0 -> 320 bytes .../input.tides/tidalComp.OBWphNvel.bin | Bin 0 -> 320 bytes .../seaice_obcs/results/output.tides.txt | 2018 +++++++++-------- 24 files changed, 1166 insertions(+), 983 deletions(-) delete mode 100644 verification/seaice_obcs/input.tides/OBEam.seaice_obcs delete mode 100644 verification/seaice_obcs/input.tides/OBEph.seaice_obcs delete mode 100644 verification/seaice_obcs/input.tides/OBNam.seaice_obcs delete mode 100644 verification/seaice_obcs/input.tides/OBNph.seaice_obcs delete mode 100644 verification/seaice_obcs/input.tides/OBSam.seaice_obcs delete mode 100644 verification/seaice_obcs/input.tides/OBSph.seaice_obcs delete mode 100644 verification/seaice_obcs/input.tides/OBWam.seaice_obcs delete mode 100644 verification/seaice_obcs/input.tides/OBWph.seaice_obcs delete mode 100755 verification/seaice_obcs/input.tides/prepare_run create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBEamNvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBEamTvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBEphNvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBEphTvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBNamNvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBNphNvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBSamNvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBSamTvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBSphNvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBSphTvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBWamNvel.bin create mode 100644 verification/seaice_obcs/input.tides/tidalComp.OBWphNvel.bin diff --git a/verification/seaice_obcs/input.tides/OBEam.seaice_obcs b/verification/seaice_obcs/input.tides/OBEam.seaice_obcs deleted file mode 100644 index 056a27c77ea895074409240a9c431157d3058942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmV-G0l)q_tDfh&i0_5DwwIJTxh1eV#Os?nKX$Y_0HxHr8Ky!yLq%V@Ss02s7MpK5 zlf)c4l~l&L-$w*GCc>aPPwhxO%Js`V%^tWt&=NU4%?H3e%qspp&Ad51%si1j&9x)B z4NtwdnZJ`c@s=DqvX8kr?CF#`*bbDt1nxw+>xw%$cXaW(TJM6or#1 zm$(%<&q8myWHx-d0(VWg-?aa_G*53it^iCs8v*0F{L|?=DY=8Xhn0ysuao||ehuk4 zTH33+A}JX<1~|$$K7Gr$IDl?DK}C?dB`L4CM4(?gFV(ZUmQ0R15ceLsjTiGehZcu9 ztGG`(D)U>pk~AARfQ=72!2w#k6&c^U))XW;+0#tAE2PW0n_n}!#56;?Z8B-O)96&X SK0|)GVV~s#(uXI2N-~u5kl|(4`oC72Nq*`5CUMIS zrE7~UcI>g-<Lt;}l9>_t{`5A3aY zH~R0|nFZc9$FS}CDzwf^LaT@ns!tWq>^^xW7_bnFUZ%^;sul>X7g<_v&25YCa(FdiSv)z_j3BR?m zI-mc++UU+B%lYbCclm2ZS_RE~ziTbSw4MEvzFPKm##kM;mABdxSF!!M@iMC-uRR)wl6Fzg_A(23i6*{Ix{7fxnhIoc@ct8(e(3_E5h% zXj{j+wU9%*06gM3+>bUn(i$Z=$A=F(0yFJ8joJ7*er2Y*6$}qLR8&qmHL1P21cqa} zoM^K;DVcn^xn^uQLc+4TPuBf>5wJohY+9QYmvfiVq38L{LS#b#u?U zrdNDA0*dN8Hpv7!KDvmyN~d%>TTzO-ljMB5y0u9~q4ckDv$@fCJRRX)Z0}vTG$k3TN*ambt)R;=SzPZ!79T<1I u8jhwqU%)83^5CMmSzm=Yjlqn%D;~Ky`ZQg*m639~b@){|DKoOUjGE?qW67Za diff --git a/verification/seaice_obcs/input.tides/OBNph.seaice_obcs b/verification/seaice_obcs/input.tides/OBNph.seaice_obcs deleted file mode 100644 index d52360df8940331b3e4396e67e59819e08e93b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmV;B0dM|A;Q#+c;Q#+c;Q#s>6lzH_>| zg~b`WNn|lPBrM;#mQE(QPVLn>)TeH`x(RN&KR7-*mSOKY9J&O$r|_z~5M-pf6~D1L zU}QczcL~@y#EyNslNyLQpo7o4nW+f6d+A`hD_?55p(C5Qju2D2YwDo6mB=Nz@^LG< z*4S~n1OM(ip{ABPAN=Gvcf>xrz($a|)fniz0K*eID!cDGe&+Z&hP!9Fe`GAWmO-03 z507^`%_D)j-SaQG>zx?5u*LSf0*os$`Ti^&i8zr{DoPR!)~X0DcELNSh-%Oa*MZ!UoMc4W~A^zxbm)%RV(d z%V8)z&uphX%OpfS%0yZ{%{^Q_(CY?0%-SCa$Bo>^@RBiZn z8_rrf$Of)CFtKB~o$ErnHznmdT24y3HWn+n@+jjvXQGQa&yAN%m$!3`vfaGAKnwX zDcGGmD~Fgm5N)VAnm<~)OXxScihEDb60briWEJ=iP!j#s0iG zEBY_Flt1S>mjp$+mPTqiFqnOZfS^i)S%95cR*g-T$aL uy_0CUxP8VsjZq}KC=gOP^glW}^7Ah`h&aPKZpl2kdthNXJ<3fvfDWI)eZA%Y diff --git a/verification/seaice_obcs/input.tides/OBSph.seaice_obcs b/verification/seaice_obcs/input.tides/OBSph.seaice_obcs deleted file mode 100644 index ac860c9732d346ad43cee849357803637d4ac4d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmXZQTPTBJ7{KwFkTqvo$&F;Vz!m%6XM~(1mKDaB!-QPyf+Yz_$rxdYi?xy@Ih(`x zKFeWuBUxj(66J6qhmwf!8M*lPt3R_Z)}g|DK-t9(DoJSS=BtZzpA)zm;9_Mj&sTT|G)BGxsw3z8hn54r8~+#tdyHEr_F)}dki!6UMdy% zRikufof-mTVdA<0Om8~!J)8i&?e(Be(@>jufn1&osnKb|rkf}b*9n7>dI38ZghKutX5g))HY)r17igga+S1l4l6cc@1IDSp^hkUa&8%R`CBy!uDeu zo<_o;o_Y z_#DtX4<&m#R8BKGJIM69gUwz!;nO6#zfFo)e%s z;|yZB!7%f=f9U|ZW!3_^W}qdxs4=0sO`$lszgTfN_3tS;HqP|9Vj1Uw38Pp`Y;F`F(c%@ysB5q>3Jjo?EDu++H zEWdxcB}pbaAJ0EJO%!jV{xNCYa;^ diff --git a/verification/seaice_obcs/input.tides/OBWph.seaice_obcs b/verification/seaice_obcs/input.tides/OBWph.seaice_obcs deleted file mode 100644 index dc5e5f9006d7d4455d7e86bac93283b7fb27ad27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmcEWUh-qNh~$-B!k^Yz@o_kYbw&=0GBE*3QUB z5?0y5{gyYh8Ljx+b1kJ=w0G`(x7MP;;*Vvrb;+*njwY7Y{c2XlnhHCf^M_cSlX&g+ zkbwaowt6PG-Ks?2-6|rie^=;?6T5gguUXcGmhZSM^mW&j|5J7ytDj@l)@ZWJZLhF3 zhspKbg7XeozV_fW)es8agRWdUbW6%hac literal 0 HcmV?d00001 diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBEamTvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBEamTvel.bin new file mode 100644 index 0000000000000000000000000000000000000000..5aafaf6cfff88c34843765726e2633905287409f GIT binary patch literal 320 VcmZQzzz=McuXEwU_;n9|SpcS93IPBB literal 0 HcmV?d00001 diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBEphNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBEphNvel.bin new file mode 100644 index 0000000000000000000000000000000000000000..314fc6e6d2bdfe7ee555507e0f3aef84fc547213 GIT binary patch literal 320 VcmZQzzz^IK85rL$iU!A1ZEfobO`|f9L)=T literal 0 HcmV?d00001 diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBSphTvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBSphTvel.bin new file mode 100644 index 0000000000000000000000000000000000000000..bbf3fa92c759ecd919e28c546cebce19a4c27be4 GIT binary patch literal 400 TcmZ?MIKbdW1ZEfobO`|fjAskY literal 0 HcmV?d00001 diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBWamNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBWamNvel.bin new file mode 100644 index 0000000000000000000000000000000000000000..a51ba866d39d02fb73ed9c27e3f31f4f8c6696fc GIT binary patch literal 320 WcmZQzpe?Xje4Ps)rmgL?Hyr?KZ4Lnd literal 0 HcmV?d00001 diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBWphNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBWphNvel.bin new file mode 100644 index 0000000000000000000000000000000000000000..5262571581a78a10f67de2a4b4519ea457fe3b27 GIT binary patch literal 320 WcmZQzpe=BF$iRRP)7Ey{n+^bqkqJ2f literal 0 HcmV?d00001 diff --git a/verification/seaice_obcs/results/output.tides.txt b/verification/seaice_obcs/results/output.tides.txt index 1acbf36e2a..bda13ba370 100644 --- a/verification/seaice_obcs/results/output.tides.txt +++ b/verification/seaice_obcs/results/output.tides.txt @@ -5,10 +5,10 @@ (PID.TID 0000.0001) // ====================================================== (PID.TID 0000.0001) // execution environment starting up... (PID.TID 0000.0001) -(PID.TID 0000.0001) // MITgcmUV version: checkpoint65z -(PID.TID 0000.0001) // Build user: jmc -(PID.TID 0000.0001) // Build host: baudelaire -(PID.TID 0000.0001) // Build date: Thu Oct 6 12:51:29 EDT 2016 +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68g +(PID.TID 0000.0001) // Build user: jm_c +(PID.TID 0000.0001) // Build host: villon +(PID.TID 0000.0001) // Build date: Tue Mar 22 13:03:38 EDT 2022 (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Execution Environment parameter file "eedata" @@ -48,8 +48,10 @@ (PID.TID 0000.0001) /* note: To execute a program with MPI calls */ (PID.TID 0000.0001) /* it must be launched appropriately e.g */ (PID.TID 0000.0001) /* "mpirun -np 64 ......" */ -(PID.TID 0000.0001) useCoupler= F ;/* Flag used to control communications with */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ (PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ (PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ (PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ (PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ @@ -91,7 +93,6 @@ (PID.TID 0000.0001) ># ==================== (PID.TID 0000.0001) ># (PID.TID 0000.0001) ># Continuous equation parameters -(PID.TID 0000.0001) ># (PID.TID 0000.0001) ># tRef - Reference vertical potential temperature (deg C) (PID.TID 0000.0001) ># sRef - Reference vertical salinity (PSU) (PID.TID 0000.0001) ># viscAh - Horizontal eddy viscosity coefficient (m^2/s) @@ -133,22 +134,18 @@ (PID.TID 0000.0001) > rigidLid=.FALSE., (PID.TID 0000.0001) > implicitFreeSurface=.TRUE., (PID.TID 0000.0001) > eosType='JMD95Z', -(PID.TID 0000.0001) > saltStepping=.TRUE., -(PID.TID 0000.0001) > tempStepping=.TRUE., -(PID.TID 0000.0001) > momStepping=.TRUE., -(PID.TID 0000.0001) > useEnergyConservingCoriolis=.TRUE., +(PID.TID 0000.0001) > selectCoriScheme=2, (PID.TID 0000.0001) > implicitDiffusion=.TRUE., (PID.TID 0000.0001) > implicitViscosity=.TRUE., (PID.TID 0000.0001) > staggerTimeStep=.TRUE., (PID.TID 0000.0001) > tempAdvScheme =7, (PID.TID 0000.0001) > saltAdvScheme =7, (PID.TID 0000.0001) > convertFW2Salt=-1, -(PID.TID 0000.0001) > allowFreezing=.FALSE., (PID.TID 0000.0001) >#- set wrong celsius2K to reproduce old results: (PID.TID 0000.0001) > celsius2K=273.16, -(PID.TID 0000.0001) > HeatCapacity_Cp = 3986.D0, +(PID.TID 0000.0001) > HeatCapacity_Cp = 3986.E0, (PID.TID 0000.0001) > gravity = 9.8156, -(PID.TID 0000.0001) > rhoConst = 1027.D0, +(PID.TID 0000.0001) > rhoConst = 1027.E0, (PID.TID 0000.0001) > rhoConstFresh = 999.8, (PID.TID 0000.0001) > useSingleCpuIO=.TRUE., (PID.TID 0000.0001) > readBinaryPrec=32, @@ -156,7 +153,6 @@ (PID.TID 0000.0001) > / (PID.TID 0000.0001) > (PID.TID 0000.0001) ># Elliptic solver parameters -(PID.TID 0000.0001) ># (PID.TID 0000.0001) ># cg2dMaxIters - Maximum number of 2d solver iterations (PID.TID 0000.0001) ># cg2dTargetResidual - Solver target residual (PID.TID 0000.0001) ># @@ -166,7 +162,6 @@ (PID.TID 0000.0001) > / (PID.TID 0000.0001) > (PID.TID 0000.0001) ># Time stepping parameters -(PID.TID 0000.0001) ># (PID.TID 0000.0001) ># startTime - Integration starting time (s) (PID.TID 0000.0001) ># endTime - Integration ending time (s) (PID.TID 0000.0001) ># deltaTMom - Timestep for momemtum equations (s) @@ -182,9 +177,7 @@ (PID.TID 0000.0001) > &PARM03 (PID.TID 0000.0001) > startTime=3600.0, (PID.TID 0000.0001) > endTime=21600., -(PID.TID 0000.0001) > deltaTmom=3600.0, -(PID.TID 0000.0001) > deltaTtracer=3600.0, -(PID.TID 0000.0001) > deltaTClock =3600.0, +(PID.TID 0000.0001) > deltaT= 3600.0, (PID.TID 0000.0001) > cAdjFreq=0., (PID.TID 0000.0001) > abEps=0.1, (PID.TID 0000.0001) > forcing_In_AB = .FALSE., @@ -197,7 +190,6 @@ (PID.TID 0000.0001) > / (PID.TID 0000.0001) > (PID.TID 0000.0001) ># Gridding parameters -(PID.TID 0000.0001) ># (PID.TID 0000.0001) ># usingSphericalPolarGrid - On/Off flag for spherical polar coordinates (PID.TID 0000.0001) ># delX - Zonal grid spacing (degrees) (PID.TID 0000.0001) ># delY - Meridional grid spacing (degrees) @@ -217,7 +209,6 @@ (PID.TID 0000.0001) > / (PID.TID 0000.0001) > (PID.TID 0000.0001) ># Input datasets -(PID.TID 0000.0001) ># (PID.TID 0000.0001) ># bathyFile - File containing bathymetry (PID.TID 0000.0001) ># hydrogThetaFile - File containing initial potential temperature data (PID.TID 0000.0001) ># hydrogSaltFile - File containing initial salinity data @@ -251,6 +242,7 @@ (PID.TID 0000.0001) > useGMRedi = .TRUE., (PID.TID 0000.0001) > useKPP = .TRUE., (PID.TID 0000.0001) > useEXF = .TRUE., +(PID.TID 0000.0001) > useCAL = .TRUE., (PID.TID 0000.0001) > useSEAICE = .TRUE., (PID.TID 0000.0001) > useSALT_PLUME = .TRUE., (PID.TID 0000.0001) > useOBCS = .TRUE., @@ -506,18 +498,30 @@ (PID.TID 0000.0001) > OBWviceFile='OBWvice.seaice_obcs', (PID.TID 0000.0001) ># (PID.TID 0000.0001) > useOBCStides = .TRUE., -(PID.TID 0000.0001) >#components = M2 S2 N2 K2 K1 O1 P1 Q1 Mf Mm -(PID.TID 0000.0001) >#periods (hr) = 12.4206 12 12.6583 11.9672 23.9345 25.8193 24.0659 26.8684 327.8599 661.31 -(PID.TID 0000.0001) > tidalPeriod = 44714.16,43200.,45569.88,43081.92,86164.2,92949.48,86637.24,96726.24,1180295.64,2380716., -(PID.TID 0000.0001) > OBSamFile='OBSam.seaice_obcs', -(PID.TID 0000.0001) > OBNamFile='OBNam.seaice_obcs', -(PID.TID 0000.0001) > OBEamFile='OBEam.seaice_obcs', -(PID.TID 0000.0001) > OBWamFile='OBWam.seaice_obcs', -(PID.TID 0000.0001) > OBSphFile='OBSph.seaice_obcs', -(PID.TID 0000.0001) > OBNphFile='OBNph.seaice_obcs', -(PID.TID 0000.0001) > OBEphFile='OBEph.seaice_obcs', -(PID.TID 0000.0001) > OBWphFile='OBWph.seaice_obcs', +(PID.TID 0000.0001) >#components = M2 S2 N2 K2 K1 +(PID.TID 0000.0001) ># O1 P1 Q1 Mf Mm +(PID.TID 0000.0001) >#periods (hr) = 12.4206 12 12.6583 11.9672 23.9345 +(PID.TID 0000.0001) ># 25.8193 24.0659 26.8684 327.8599 661.31 +(PID.TID 0000.0001) > tidalPeriod = 44714.16, 43200., 45569.88, 43081.92, 86164.2, +(PID.TID 0000.0001) > 92949.48, 86637.24, 96726.24, 1180295.64, 2380716., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > OBSamFile ='tidalComp.OBSamNvel.bin', +(PID.TID 0000.0001) > OBSphFile ='tidalComp.OBSphNvel.bin', +(PID.TID 0000.0001) > OBSamTFile='tidalComp.OBSamTvel.bin', +(PID.TID 0000.0001) > OBSphTFile='tidalComp.OBSphTvel.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > OBNamFile ='tidalComp.OBNamNvel.bin', +(PID.TID 0000.0001) > OBNphFile ='tidalComp.OBNphNvel.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > OBEamFile ='tidalComp.OBEamNvel.bin', +(PID.TID 0000.0001) > OBEphFile ='tidalComp.OBEphNvel.bin', +(PID.TID 0000.0001) > OBEamTFile='tidalComp.OBEamTvel.bin', +(PID.TID 0000.0001) > OBEphTFile='tidalComp.OBEphTvel.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > OBWamFile ='tidalComp.OBWamNvel.bin', +(PID.TID 0000.0001) > OBWphFile ='tidalComp.OBWphNvel.bin', (PID.TID 0000.0001) > / +(PID.TID 0000.0001) > (PID.TID 0000.0001) (PID.TID 0000.0001) OBCS_READPARMS: finished reading data.obcs (PID.TID 0000.0001) OB_indexUnset = /* unset OB index value (i.e. no OB) */ @@ -532,7 +536,7 @@ (PID.TID 0000.0001) Western OB global indices : OB_Iwest = (PID.TID 0000.0001) 8 @ 1 /* J = 1: 8 */ (PID.TID 0000.0001) -(PID.TID 0000.0001) KPP_INIT: opening data.kpp +(PID.TID 0000.0001) KPP_READPARMS: opening data.kpp (PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.kpp (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Parameter file "data.kpp" @@ -544,7 +548,9 @@ (PID.TID 0000.0001) > KPP_ghatUseTotalDiffus=.TRUE., (PID.TID 0000.0001) > / (PID.TID 0000.0001) -(PID.TID 0000.0001) KPP_INIT: finished reading data.kpp +(PID.TID 0000.0001) KPP_READPARMS ; starts to read KPP_PARM01 +(PID.TID 0000.0001) KPP_READPARMS ; read KPP_PARM01 : OK +(PID.TID 0000.0001) KPP_READPARMS: finished reading data.kpp (PID.TID 0000.0001) GM_READPARMS: opening data.gmredi (PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi (PID.TID 0000.0001) // ======================================================= @@ -590,12 +596,20 @@ (PID.TID 0000.0001) > SEAICE_drySnowAlb = 0.9656, (PID.TID 0000.0001) > SEAICE_wetSnowAlb = 0.8256, (PID.TID 0000.0001) > SEAICE_strength = 2.6780e+04, -(PID.TID 0000.0001) > SEAICE_waterDrag = 5.3508, (PID.TID 0000.0001) ># use the new standard way of specifying ocean-ice turb. flux coeff: (PID.TID 0000.0001) > SEAICE_mcPheePiston= 0.00004, (PID.TID 0000.0001) > SEAICE_frazilFrac = 0.3, (PID.TID 0000.0001) >#- seaice I/O params: (PID.TID 0000.0001) > SEAICEwriteState = .TRUE., +(PID.TID 0000.0001) ># old defaults +(PID.TID 0000.0001) > SEAICEscaleSurfStress = .FALSE., +(PID.TID 0000.0001) > SEAICEaddSnowMass = .FALSE., +(PID.TID 0000.0001) > SEAICE_useMultDimSnow = .FALSE., +(PID.TID 0000.0001) > SEAICEetaZmethod = 0, +(PID.TID 0000.0001) > SEAICE_drag = 0.002, +(PID.TID 0000.0001) > SEAICE_waterDrag = 0.0052101265822784805, +(PID.TID 0000.0001) > SEAICE_Olx = 0, +(PID.TID 0000.0001) > SEAICE_Oly = 0, (PID.TID 0000.0001) > / (PID.TID 0000.0001) > (PID.TID 0000.0001) > &SEAICE_PARM03 @@ -908,12 +922,18 @@ (PID.TID 0000.0001) useExfCheckRange = /* check for fields range */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; +(PID.TID 0000.0001) diags_opOceWeighted = /* weight flux diags by open-ocean fraction */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; (PID.TID 0000.0001) exf_debugLev = /* select EXF-debug printing level */ (PID.TID 0000.0001) 2 (PID.TID 0000.0001) ; (PID.TID 0000.0001) exf_monFreq = /* EXF monitor frequency [ s ] */ (PID.TID 0000.0001) 1.000000000000000E+00 (PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_adjMonSelect = /* select group of exf AD-variables to monitor */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; (PID.TID 0000.0001) repeatPeriod = /* period for cycling forcing dataset [ s ] */ (PID.TID 0000.0001) 3.162240000000000E+07 (PID.TID 0000.0001) ; @@ -1058,81 +1078,68 @@ (PID.TID 0000.0001) // ALLOW_DOWNWARD_RADIATION: defined (PID.TID 0000.0001) // ALLOW_BULKFORMULAE: defined (PID.TID 0000.0001) -(PID.TID 0000.0001) Net shortwave flux forcing starts at 0. -(PID.TID 0000.0001) Net shortwave flux forcing period is 2635200. -(PID.TID 0000.0001) Net shortwave flux forcing is read from file: -(PID.TID 0000.0001) >> << -(PID.TID 0000.0001) (PID.TID 0000.0001) Zonal wind forcing starts at -1317600. (PID.TID 0000.0001) Zonal wind forcing period is 2635200. +(PID.TID 0000.0001) Zonal wind forcing repeat-cycle is 31622400. (PID.TID 0000.0001) Zonal wind forcing is read from file: -(PID.TID 0000.0001) >> u10m.labsea1979 << +(PID.TID 0000.0001) >> u10m.labsea1979 << (PID.TID 0000.0001) (PID.TID 0000.0001) Meridional wind forcing starts at -1317600. (PID.TID 0000.0001) Meridional wind forcing period is 2635200. +(PID.TID 0000.0001) Meridional wind forcing repeat-cycle is 31622400. (PID.TID 0000.0001) Meridional wind forcing is read from file: -(PID.TID 0000.0001) >> v10m.labsea1979 << +(PID.TID 0000.0001) >> v10m.labsea1979 << (PID.TID 0000.0001) (PID.TID 0000.0001) Atmospheric temperature starts at -1317600. (PID.TID 0000.0001) Atmospheric temperature period is 2635200. +(PID.TID 0000.0001) Atmospheric temperature repeat-cycle is 31622400. (PID.TID 0000.0001) Atmospheric temperature is read from file: -(PID.TID 0000.0001) >> tair.labsea1979 << +(PID.TID 0000.0001) >> tair.labsea1979 << (PID.TID 0000.0001) (PID.TID 0000.0001) Atmospheric specific humidity starts at -1317600. (PID.TID 0000.0001) Atmospheric specific humidity period is 2635200. +(PID.TID 0000.0001) Atmospheric specific humidity rep-cycle is 31622400. (PID.TID 0000.0001) Atmospheric specific humidity is read from file: -(PID.TID 0000.0001) >> qa.labsea1979 << +(PID.TID 0000.0001) >> qa.labsea1979 << (PID.TID 0000.0001) -(PID.TID 0000.0001) Net longwave flux forcing starts at 0. -(PID.TID 0000.0001) Net longwave flux forcing period is 2635200. -(PID.TID 0000.0001) Net longwave flux forcing is read from file: -(PID.TID 0000.0001) >> << +(PID.TID 0000.0001) // ALLOW_READ_TURBFLUXES: NOT defined +(PID.TID 0000.0001) // EXF_READ_EVAP: NOT defined (PID.TID 0000.0001) -(PID.TID 0000.0001) Precipitation data set starts at -1317600. +(PID.TID 0000.0001) Precipitation data starts at -1317600. (PID.TID 0000.0001) Precipitation data period is 2635200. +(PID.TID 0000.0001) Precipitation data repeat-cycle is 31622400. (PID.TID 0000.0001) Precipitation data is read from file: -(PID.TID 0000.0001) >> prate.labsea1979 << -(PID.TID 0000.0001) -(PID.TID 0000.0001) // EXF_READ_EVAP: NOT defined +(PID.TID 0000.0001) >> prate.labsea1979 << (PID.TID 0000.0001) (PID.TID 0000.0001) // ALLOW_RUNOFF: defined -(PID.TID 0000.0001) Runoff starts at 0. -(PID.TID 0000.0001) Runoff period is 0. -(PID.TID 0000.0001) Runoff is read from file: -(PID.TID 0000.0001) >> << (PID.TID 0000.0001) // ALLOW_RUNOFTEMP: NOT defined +(PID.TID 0000.0001) // ALLOW_SALTFLX: defined (PID.TID 0000.0001) -(PID.TID 0000.0001) Downward shortwave flux forcing starts at -1317600. -(PID.TID 0000.0001) Downward shortwave flux forcing period is 2635200. -(PID.TID 0000.0001) Downward shortwave flux forcing is read from file: -(PID.TID 0000.0001) >> fsh.labsea1979 << -(PID.TID 0000.0001) -(PID.TID 0000.0001) Downward longwave flux forcing starts at -1317600. -(PID.TID 0000.0001) Downward longwave flux forcing period is 2635200. -(PID.TID 0000.0001) Downward longwave flux forcing is read from file: -(PID.TID 0000.0001) >> flo.labsea1979 << +(PID.TID 0000.0001) Downward shortwave flux starts at -1317600. +(PID.TID 0000.0001) Downward shortwave flux period is 2635200. +(PID.TID 0000.0001) Downward shortwave flux repeat-cycle is 31622400. +(PID.TID 0000.0001) Downward shortwave flux is read from file: +(PID.TID 0000.0001) >> fsh.labsea1979 << (PID.TID 0000.0001) -(PID.TID 0000.0001) Atmospheric pressure forcing starts at 0. -(PID.TID 0000.0001) Atmospheric pressure forcing period is 0. -(PID.TID 0000.0001) Atmospheric pressureforcing is read from file: -(PID.TID 0000.0001) >> << +(PID.TID 0000.0001) Downward longwave flux starts at -1317600. +(PID.TID 0000.0001) Downward longwave flux period is 2635200. +(PID.TID 0000.0001) Downward longwave flux repeat-cycle is 31622400. +(PID.TID 0000.0001) Downward longwave flux is read from file: +(PID.TID 0000.0001) >> flo.labsea1979 << (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // External forcing (EXF) climatology configuration : (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) (PID.TID 0000.0001) // ALLOW_CLIMSST_RELAXATION: defined -(PID.TID 0000.0001) // ALLOW_CLIMSSS_RELAXATION: defined -(PID.TID 0000.0001) -(PID.TID 0000.0001) Climatological SST starts at 0. -(PID.TID 0000.0001) Climatological SST period is 2635200. -(PID.TID 0000.0001) Climatological SST is read from file: -(PID.TID 0000.0001) >> << +(PID.TID 0000.0001) climsst relaxation is NOT used (PID.TID 0000.0001) -(PID.TID 0000.0001) Climatological SSS starts at -1317600. -(PID.TID 0000.0001) Climatological SSS period is 2635200. +(PID.TID 0000.0001) // ALLOW_CLIMSSS_RELAXATION: defined +(PID.TID 0000.0001) Climatological SSS starts at -1317600. +(PID.TID 0000.0001) Climatological SSS period is 2635200. +(PID.TID 0000.0001) Climatological SSS repeat-cycle is 31622400. (PID.TID 0000.0001) Climatological SSS is read from file: -(PID.TID 0000.0001) >> SSS_monthly.labsea1979 << +(PID.TID 0000.0001) >> SSS_monthly.labsea1979 << (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // External forcing (EXF) configuration >>> END <<< @@ -1156,6 +1163,9 @@ (PID.TID 0000.0001) SEAICEuseBDF2 = /* use backw. differencing for mom. eq. */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEupdateOceanStress= /* update Ocean surf. stress */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; (PID.TID 0000.0001) SEAICErestoreUnderIce = /* restore T and S under ice */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; @@ -1198,11 +1208,14 @@ (PID.TID 0000.0001) SEAICE_drag_south = /* Southern Ocean SEAICE_drag */ (PID.TID 0000.0001) 2.000000000000000E-03 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) SEAICE_waterDrag = /* water-ice drag * density */ -(PID.TID 0000.0001) 5.350800000000000E+00 +(PID.TID 0000.0001) SEAICE_waterDrag = /* water-ice drag (no units) */ +(PID.TID 0000.0001) 5.210126582278480E-03 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) SEAICE_waterDrag_south = /* Southern Ocean waterDrag */ -(PID.TID 0000.0001) 5.350800000000000E+00 +(PID.TID 0000.0001) SEAICE_waterDrag_south = /* Southern Ocean waterDrag (no units) */ +(PID.TID 0000.0001) 5.210126582278480E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdWatMin = /* minimum linear water-ice drag (in m/s) */ +(PID.TID 0000.0001) 2.500000000000000E-01 (PID.TID 0000.0001) ; (PID.TID 0000.0001) SEAICEuseTilt = /* include surface tilt in dyna. */ (PID.TID 0000.0001) T @@ -1237,6 +1250,9 @@ (PID.TID 0000.0001) SEAICEetaZmethod = /* method computing eta at Z-point */ (PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_zetaMaxFac = /* factor for upper viscosity bound */ +(PID.TID 0000.0001) 2.500000000000000E+08 +(PID.TID 0000.0001) ; (PID.TID 0000.0001) SEAICE_zetaMin = /* lower bound for viscosity */ (PID.TID 0000.0001) 0.000000000000000E+00 (PID.TID 0000.0001) ; @@ -1258,6 +1274,9 @@ (PID.TID 0000.0001) SEAICE_no_slip = /* no slip boundary conditions */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_2ndOrderBC = /* 2nd order no slip boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; (PID.TID 0000.0001) SEAICE_clipVeloctities = /* impose max. vels. */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; @@ -1270,6 +1289,9 @@ (PID.TID 0000.0001) SEAICE_maskRHS = /* mask RHS of solver */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEaddSnowMass = /* add snow mass to seaiceMassC/U/V */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; (PID.TID 0000.0001) LSR_mixIniGuess = /* mix free-drift sol. into LSR initial Guess */ (PID.TID 0000.0001) 1 (PID.TID 0000.0001) ; @@ -1306,6 +1328,9 @@ (PID.TID 0000.0001) (PID.TID 0000.0001) Seaice advection diffusion config, > START < (PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICEmomAdvection = /* advect sea ice momentum */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; (PID.TID 0000.0001) SEAICEadvHeff = /* advect effective ice thickness */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; @@ -1638,7 +1663,7 @@ (PID.TID 0000.0001) 3.000000000000000E+00, /* K = 22 */ (PID.TID 0000.0001) 2.000000000000000E+00 /* K = 23 */ (PID.TID 0000.0001) ; -(PID.TID 0000.0001) sRef = /* Reference salinity profile ( psu ) */ +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ (PID.TID 0000.0001) 3.465000000000000E+01, /* K = 1 */ (PID.TID 0000.0001) 3.475000000000000E+01, /* K = 2 */ (PID.TID 0000.0001) 3.482000000000000E+01, /* K = 3 */ @@ -1750,10 +1775,16 @@ (PID.TID 0000.0001) eosType = /* Type of Equation of State */ (PID.TID 0000.0001) 'JMD95Z' (PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; (PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ (PID.TID 0000.0001) 0 (PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P (PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; (PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ (PID.TID 0000.0001) 3.986000000000000E+03 (PID.TID 0000.0001) ; @@ -1808,28 +1839,31 @@ (PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ (PID.TID 0000.0001) 1.000000000000000E+00 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ (PID.TID 0000.0001) 1.000000000000000E+00 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) implicDiv2Dflow = /* Barot. Flow Div. implicit factor (0-1)*/ +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ (PID.TID 0000.0001) 1.000000000000000E+00 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag*/ +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; (PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; (PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ (PID.TID 0000.0001) 1.000000000000000E+00 (PID.TID 0000.0001) ; (PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ (PID.TID 0000.0001) 0.000000000000000E+00 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag*/ +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; -(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag*/ +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; (PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ @@ -1851,7 +1885,7 @@ (PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ (PID.TID 0000.0001) 1.234567000000000E+05 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(psu)*/ +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ (PID.TID 0000.0001) 0.000000000000000E+00 (PID.TID 0000.0001) ; (PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ @@ -1860,10 +1894,10 @@ (PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ (PID.TID 0000.0001) 1.234567000000000E+05 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(psu)*/ +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ (PID.TID 0000.0001) 0.000000000000000E+00 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(psu)*/ +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ (PID.TID 0000.0001) -1.000000000000000E+00 (PID.TID 0000.0001) ; (PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ @@ -1905,8 +1939,9 @@ (PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; -(PID.TID 0000.0001) implBottomFriction= /* Implicit bottom friction on/off flag */ -(PID.TID 0000.0001) F +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) (PID.TID 0000.0001) ; (PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ (PID.TID 0000.0001) T @@ -1927,41 +1962,19 @@ (PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; -(PID.TID 0000.0001) useEnergyConservingCoriolis= /* Flx-Form Coriolis scheme flag */ -(PID.TID 0000.0001) T -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) useJamartWetPoints= /* Coriolis WetPoints method flag */ -(PID.TID 0000.0001) F -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) useJamartMomAdv= /* V.I Non-linear terms Jamart flag */ -(PID.TID 0000.0001) F -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) useAbsVorticity= /* V.I Works with f+zeta in Coriolis */ -(PID.TID 0000.0001) F -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) selectVortScheme= /* V.I Scheme selector for Vorticity-Term */ -(PID.TID 0000.0001) 123456789 -(PID.TID 0000.0001) = 0 : enstrophy (Shallow-Water Eq.) conserving scheme by Sadourny, JAS 75 -(PID.TID 0000.0001) = 1 : same as 0 with modified hFac -(PID.TID 0000.0001) = 2 : energy conserving scheme (used by Sadourny in JAS 75 paper) -(PID.TID 0000.0001) = 3 : energy (general) and enstrophy (2D, nonDiv.) conserving scheme -(PID.TID 0000.0001) from Sadourny (Burridge & Haseler, ECMWF Rep.4, 1977) -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) upwindVorticity= /* V.I Upwind bias vorticity flag */ -(PID.TID 0000.0001) F -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) highOrderVorticity= /* V.I High order vort. advect. flag */ -(PID.TID 0000.0001) F -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) upwindShear= /* V.I Upwind vertical Shear advection flag */ -(PID.TID 0000.0001) F -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) selectKEscheme= /* V.I Kinetic Energy scheme selector */ -(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging (PID.TID 0000.0001) ; (PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; (PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; @@ -2025,6 +2038,12 @@ (PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ (PID.TID 0000.0001) 32 (PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; (PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; @@ -2044,14 +2063,17 @@ (PID.TID 0000.0001) debugLevel = /* select debug printing level */ (PID.TID 0000.0001) 2 (PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; (PID.TID 0000.0001) // (PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) (PID.TID 0000.0001) // (PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ (PID.TID 0000.0001) 500 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cg2dChkResFreq = /* 2d con. grad convergence test frequency */ -(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; (PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ (PID.TID 0000.0001) 0 @@ -2068,6 +2090,9 @@ (PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; (PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ (PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; @@ -2140,9 +2165,6 @@ (PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; -(PID.TID 0000.0001) pickup_write_immed = /* Model IO flag. */ -(PID.TID 0000.0001) F -(PID.TID 0000.0001) ; (PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; @@ -2194,6 +2216,18 @@ (PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; (PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ (PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; @@ -2583,6 +2617,136 @@ (PID.TID 0000.0001) OBCS_CHECK: set-up OK (PID.TID 0000.0001) OBCS_CHECK: check Inside Mask and OB locations: OK (PID.TID 0000.0001) KPP_CHECK: #define ALLOW_KPP +(PID.TID 0000.0001) kpp_freq = /* frequency of KPP calculation */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPP_ghatUseTotalDiffus= /* non-local term fct of total diffus */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPPuseDoubleDiff = /* include double diffusive contrib */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) LimitHblStable = /* limits depth of hbl if stable cond.*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) minKPPhbl = /* minimum KPPhbl value [m] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsln = /* constant [-] */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phepsi = /* constant [-] */ +(PID.TID 0000.0001) 1.000000000000000E-10 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsilon = /* constant [-] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vonk = /* Von Karmans constant [-] */ +(PID.TID 0000.0001) 4.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dB_dz = /* maximum N^2 in mixed layer [s^-2] */ +(PID.TID 0000.0001) 5.200000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc1 = /* scalar constant [-] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conam = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.257000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concm = /* scalar constant [-] */ +(PID.TID 0000.0001) 8.380000000000001E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc2 = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conas = /* scalar constant [-] */ +(PID.TID 0000.0001) -2.886000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concs = /* scalar constant [-] */ +(PID.TID 0000.0001) 9.895999999999999E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc3 = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zetam = /* scalar constant [-] */ +(PID.TID 0000.0001) -2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zetas = /* scalar constant [-] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Ricr = /* critical bulk Richardson Number [-] */ +(PID.TID 0000.0001) 3.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cekman = /* coeff for Ekman depth [-] */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cmonob = /* coeff for Monin-Obukhov depth [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concv = /* buoyancy freq ratio [-] */ +(PID.TID 0000.0001) 1.800000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hbf = /* solar radiation depth ratio [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zmin = /* minimum for zehat in table [m3/s3] */ +(PID.TID 0000.0001) -4.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zmax = /* maximum for zehat in table [m3/s3] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umin = /* minimum for ustar in table [m/s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umax = /* maximum for ustar in table [m/s] */ +(PID.TID 0000.0001) 4.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) num_v_smooth_Ri = /* number of vertical smoothing */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Riinfty = /* shear instability Ri number limit [-] */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) BVSQcon = /* Brunt-Vaisala squared (=N^2) [s^-2] */ +(PID.TID 0000.0001) -2.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difm0 = /* max viscosity from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difs0 = /* max diffusiv. from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dift0 = /* max diffusiv. from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difmcon = /* convective viscosity [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difscon = /* convective diffusiv. [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diftcon = /* convective diffusiv. [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Rrho0 = /* double diffusion density ratio [-] */ +(PID.TID 0000.0001) 1.900000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dsfmax = /* max diffusiv. for salt fingering [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cstar = /* coeff for non-locak transport [-] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPPwriteState = /* write KPP fields to file */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) kpp_dumpFreq = /* dump freq of KPP output */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) kpp_taveFreq = /* time-averaging freq of KPP output */ +(PID.TID 0000.0001) 3.600000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) (PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI (PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ (PID.TID 0000.0001) F @@ -2656,6 +2820,10 @@ (PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ (PID.TID 0000.0001) 1.100000000000000E+05 (PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) EXF_CHECK: #define ALLOW_EXF (PID.TID 0000.0001) SEAICE_CHECK: #define ALLOW_SEAICE (PID.TID 0000.0001) SALT_PLUME_CHECK: #define SALT_PLUME (PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF @@ -2712,14 +2880,18 @@ (PID.TID 0000.0001) MDS_READ_FIELD: opening global file: pickup_seaice.0000000001.data (PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "siVICE ", # 8 in fldList, rec= 8 (PID.TID 0000.0001) MDS_READ_FIELD: opening global file: pickup_seaice.0000000001.data -(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: OBNam.seaice_obcs -(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: OBNph.seaice_obcs -(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: OBSam.seaice_obcs -(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: OBSph.seaice_obcs -(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBEam.seaice_obcs -(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBEph.seaice_obcs -(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWam.seaice_obcs -(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWph.seaice_obcs +(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: tidalComp.OBNamNvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: tidalComp.OBNphNvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: tidalComp.OBSamNvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: tidalComp.OBSphNvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: tidalComp.OBSamTvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: tidalComp.OBSphTvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: tidalComp.OBEamNvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: tidalComp.OBEphNvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: tidalComp.OBEamTvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: tidalComp.OBEphTvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: tidalComp.OBWamNvel.bin +(PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: tidalComp.OBWphNvel.bin (PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: OBNu.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: OBNu.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_XZ: opening global file: OBNv.seaice_obcs @@ -3021,6 +3193,11 @@ (PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5110398692790E+01 (PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4375095691549E+01 (PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.8013279766566E+01 +(PID.TID 0000.0001) %MON exf_evap_max = 2.7552449701852E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -1.6584688021880E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0965046292413E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 8.4900346745238E-09 +(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8913360557134E-09 (PID.TID 0000.0001) %MON exf_precip_max = 5.9505298888682E-08 (PID.TID 0000.0001) %MON exf_precip_min = 7.5144464615546E-09 (PID.TID 0000.0001) %MON exf_precip_mean = 3.2042617690116E-08 @@ -3031,11 +3208,6 @@ (PID.TID 0000.0001) %MON exf_swflux_mean = -3.4027948904558E+01 (PID.TID 0000.0001) %MON exf_swflux_sd = 5.3576873070070E+00 (PID.TID 0000.0001) %MON exf_swflux_del2 = 3.0946535536001E+00 -(PID.TID 0000.0001) %MON exf_evap_max = 2.7552449701852E-08 -(PID.TID 0000.0001) %MON exf_evap_min = -1.6584688021880E-09 -(PID.TID 0000.0001) %MON exf_evap_mean = 1.0965046292413E-08 -(PID.TID 0000.0001) %MON exf_evap_sd = 8.4900346745238E-09 -(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8913360557134E-09 (PID.TID 0000.0001) %MON exf_swdown_max = 4.7922553901464E+01 (PID.TID 0000.0001) %MON exf_swdown_min = 2.9095210515736E+01 (PID.TID 0000.0001) %MON exf_swdown_mean = 3.7808832116175E+01 @@ -3094,54 +3266,54 @@ (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWsn.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWuice.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWvice.seaice_obcs - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 3.11307705E-02 2.79559928E-02 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 3.11307705E-02 2.79559928E-02 SEAICE_LSR: Residual FrDrift U_fd,V_fd= 2.46022338E-02 2.70839044E-03 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 26 3.53241741E-13 4.01870587E-14 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 18 2.23418506E-13 1.51604786E-14 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 1.08172611E-02 9.89270086E-03 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 26 3.53245211E-13 4.01870080E-14 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 18 2.23432384E-13 1.51604543E-14 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 1.08172611E-02 9.89270086E-03 SEAICE_LSR: Residual FrDrift U_fd,V_fd= 2.58282031E-02 5.82748152E-03 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 28 2.33691538E-13 3.48277400E-14 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 20 1.47395984E-13 2.14095106E-14 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 28 2.33695008E-13 3.48278128E-14 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 20 1.47395984E-13 2.13982481E-14 (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F - cg2d: Sum(rhs),rhsMax = -1.63439784224242E+00 3.03949509463576E+00 -(PID.TID 0000.0001) cg2d_init_res = 1.25154885565098E+00 + cg2d: Sum(rhs),rhsMax = 7.80262446794863E-01 1.91948498640997E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.66060020575152E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 25 -(PID.TID 0000.0001) cg2d_last_res = 1.60791113771717E-13 +(PID.TID 0000.0001) cg2d_last_res = 1.17011779100438E-13 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 2 (PID.TID 0000.0001) %MON time_secondsf = 7.2000000000000E+03 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0614507034595E+00 -(PID.TID 0000.0001) %MON dynstat_eta_min = -3.7142077942338E-01 -(PID.TID 0000.0001) %MON dynstat_eta_mean = 2.8084820192451E-01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 3.0854409672995E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.3964835328197E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.0963088492730E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.1382320447848E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.8641045990295E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2855347091697E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 9.4935515985490E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.1324475944236E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -6.7656147346684E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 2.6221776708440E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.8550677120260E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.1573890508624E-03 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.2070661056724E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0400831204888E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.0003730969349E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 6.5373534443001E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 5.5457139056129E-06 -(PID.TID 0000.0001) %MON dynstat_theta_max = 6.0040261032661E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8173629310101E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1876498901145E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.9742601453847E-01 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.3004567173669E-02 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939863090982E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2482934408471E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4812453035627E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1496524413324E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.5351826781228E-03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 8.7465775538851E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -3.3826352415766E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -8.4671615398127E-02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 9.4203673795176E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.2615307966311E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.5887134522200E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.4812523053414E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 1.2968424044252E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.7552234558588E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.3277529725735E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.0286313807592E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -6.5013844592737E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.7591678459476E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 3.2901083376256E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.1450242941427E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.2696786852401E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.7540973497837E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -2.0329001493963E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.0323093312385E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.7952470817591E-06 +(PID.TID 0000.0001) %MON dynstat_theta_max = 6.0112648851034E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8178332558568E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1872427140640E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.9855948945952E-01 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.3247207221893E-02 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939863120762E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2482846992365E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4812163142493E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1550769726287E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.5558943803988E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 3.0362526439149E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = 1.3268131574981E+00 (PID.TID 0000.0001) %MON forcing_qnet_mean = 8.3294141424723E+01 @@ -3167,51 +3339,51 @@ (PID.TID 0000.0001) %MON forcing_fv_mean = -6.4922600740378E-03 (PID.TID 0000.0001) %MON forcing_fv_sd = 8.6557200209003E-03 (PID.TID 0000.0001) %MON forcing_fv_del2 = 8.1945533952278E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.4813754909450E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.7797473848194E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.1545437980421E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.4811987457004E-03 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.8331822606245E-03 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.3090875960841E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.1539214602598E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 5.0035984466911E-04 -(PID.TID 0000.0001) %MON ke_max = 5.8846711661706E-03 -(PID.TID 0000.0001) %MON ke_mean = 7.0806341990596E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.6817612274930E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.7545739448106E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.6617122941532E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.6816250777025E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.7882245869725E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 5.3160925497045E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.6617122941532E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.6115597160171E-05 +(PID.TID 0000.0001) %MON ke_max = 4.3075254738443E-03 +(PID.TID 0000.0001) %MON ke_mean = 4.8583380235352E-04 (PID.TID 0000.0001) %MON ke_vol = 2.0812333426156E+15 -(PID.TID 0000.0001) %MON vort_r_min = -1.1377857079041E-06 -(PID.TID 0000.0001) %MON vort_r_max = 9.1930035580725E-07 -(PID.TID 0000.0001) %MON vort_a_mean = 1.1459483391254E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 5.2243955292160E-06 -(PID.TID 0000.0001) %MON vort_p_mean = 1.7066085793175E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 1.1050682542520E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.9201196461624E-04 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = 3.0184393472848E-03 +(PID.TID 0000.0001) %MON vort_r_min = -7.4238760988168E-07 +(PID.TID 0000.0001) %MON vort_r_max = 7.2005786773749E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.1459607324239E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 5.3090562745073E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7066270360916E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1041984468968E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.5695032293042E-05 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.0942872596716E-04 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= -(PID.TID 0000.0001) %MON obc_E_uVel_max = -2.8916874076474E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_min = -5.2402525948823E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_mean = -4.2508811156110E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_sd = 2.5937119443455E-03 -(PID.TID 0000.0001) %MON obc_E_uVel_Int = -8.7776010047322E+07 -(PID.TID 0000.0001) %MON obc_W_uVel_max = -9.3814868259777E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_min = -1.1382320447848E-01 -(PID.TID 0000.0001) %MON obc_W_uVel_mean = -9.9178555479672E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_sd = 3.6273727758365E-03 -(PID.TID 0000.0001) %MON obc_W_uVel_Int = -1.1469278289326E+07 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 1.1324475944236E-01 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 6.5922364321926E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 9.9103985924673E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 9.4080342398520E-03 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 1.3003435325191E+07 -(PID.TID 0000.0001) %MON obc_S_vVel_max = 5.7234065879888E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_min = -4.7360719686003E-04 -(PID.TID 0000.0001) %MON obc_S_vVel_mean = 5.2462703380910E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_sd = 6.1781615450790E-03 -(PID.TID 0000.0001) %MON obc_S_vVel_Int = 4.5631111209888E+07 +(PID.TID 0000.0001) %MON obc_E_uVel_max = 6.5887134522200E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_min = 3.5612403415144E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_mean = 4.8788282586145E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_sd = 2.5429300278293E-03 +(PID.TID 0000.0001) %MON obc_E_uVel_Int = 1.0074242647592E+08 +(PID.TID 0000.0001) %MON obc_W_uVel_max = -1.2544508478484E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_min = -3.5264483573726E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_mean = -1.8925265401970E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_sd = 4.1434365311604E-03 +(PID.TID 0000.0001) %MON obc_W_uVel_Int = -2.1885692380248E+06 +(PID.TID 0000.0001) %MON obc_N_vVel_max = -4.6932957216524E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = -4.3421278512919E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = -1.1634883461298E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 8.0401541133562E-03 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = -1.5266132153365E+06 +(PID.TID 0000.0001) %MON obc_S_vVel_max = 1.0286313807592E-01 +(PID.TID 0000.0001) %MON obc_S_vVel_min = 4.8687815666199E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_mean = 9.9538291599919E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.6464756655198E-03 +(PID.TID 0000.0001) %MON obc_S_vVel_Int = 8.6576607016613E+07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= @@ -3258,26 +3430,26 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON exf_tsnumber = 2 (PID.TID 0000.0001) %MON exf_time_sec = 7.2000000000000E+03 -(PID.TID 0000.0001) %MON exf_ustress_max = 3.4510808892044E-02 -(PID.TID 0000.0001) %MON exf_ustress_min = 3.8374712986447E-03 -(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8068939157276E-02 -(PID.TID 0000.0001) %MON exf_ustress_sd = 9.7437346500423E-03 -(PID.TID 0000.0001) %MON exf_ustress_del2 = 3.7669260544819E-03 -(PID.TID 0000.0001) %MON exf_vstress_max = 6.9085102680197E-03 -(PID.TID 0000.0001) %MON exf_vstress_min = -1.4695923527898E-02 -(PID.TID 0000.0001) %MON exf_vstress_mean = -1.4516044560538E-03 -(PID.TID 0000.0001) %MON exf_vstress_sd = 5.4597442460239E-03 -(PID.TID 0000.0001) %MON exf_vstress_del2 = 2.5590866793470E-03 -(PID.TID 0000.0001) %MON exf_hflux_max = 3.0376552951706E+02 -(PID.TID 0000.0001) %MON exf_hflux_min = 1.4861371129094E+00 -(PID.TID 0000.0001) %MON exf_hflux_mean = 1.3238838994488E+02 -(PID.TID 0000.0001) %MON exf_hflux_sd = 1.0763321491689E+02 -(PID.TID 0000.0001) %MON exf_hflux_del2 = 5.2152502891692E+01 -(PID.TID 0000.0001) %MON exf_sflux_max = 8.7991834828808E-09 -(PID.TID 0000.0001) %MON exf_sflux_min = -5.9108323217411E-08 -(PID.TID 0000.0001) %MON exf_sflux_mean = -2.1069772739044E-08 -(PID.TID 0000.0001) %MON exf_sflux_sd = 2.1982959764935E-08 -(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.0222232796901E-08 +(PID.TID 0000.0001) %MON exf_ustress_max = 3.4510767603569E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = 3.8374714144626E-03 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8066386385743E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 9.7438325826369E-03 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 3.7664647144960E-03 +(PID.TID 0000.0001) %MON exf_vstress_max = 6.9085102623445E-03 +(PID.TID 0000.0001) %MON exf_vstress_min = -1.4695920938343E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -1.4512008875926E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 5.4595756497693E-03 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 2.5590010063368E-03 +(PID.TID 0000.0001) %MON exf_hflux_max = 3.0372879347708E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = 1.4502567499965E+00 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.3236462983695E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.0763508338555E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 5.2154311288649E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 8.7994113958486E-09 +(PID.TID 0000.0001) %MON exf_sflux_min = -5.9114737343284E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.1073039656665E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 2.1983924213389E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.0222640278273E-08 (PID.TID 0000.0001) %MON exf_uwind_max = 5.3615644903131E+00 (PID.TID 0000.0001) %MON exf_uwind_min = 6.3893064123685E-01 (PID.TID 0000.0001) %MON exf_uwind_mean = 3.0586159036305E+00 @@ -3303,11 +3475,16 @@ (PID.TID 0000.0001) %MON exf_aqh_mean = 2.4676404033270E-03 (PID.TID 0000.0001) %MON exf_aqh_sd = 1.2816313122703E-03 (PID.TID 0000.0001) %MON exf_aqh_del2 = 6.0172866595941E-04 -(PID.TID 0000.0001) %MON exf_lwflux_max = 1.3449199693331E+02 -(PID.TID 0000.0001) %MON exf_lwflux_min = 4.4284846939128E+01 -(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5125044490261E+01 -(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4362128330736E+01 -(PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.8005557819893E+01 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.3448284945606E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 4.4283166577715E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5117240802196E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4364789976544E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.8006748764408E+01 +(PID.TID 0000.0001) %MON exf_evap_max = 2.7566503993496E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -1.6496230903724E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0964843640166E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 8.4873485449109E-09 +(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8901799242486E-09 (PID.TID 0000.0001) %MON exf_precip_max = 5.9498460337099E-08 (PID.TID 0000.0001) %MON exf_precip_min = 7.5018961194897E-09 (PID.TID 0000.0001) %MON exf_precip_mean = 3.2037883296831E-08 @@ -3318,11 +3495,6 @@ (PID.TID 0000.0001) %MON exf_swflux_mean = -3.3990532156621E+01 (PID.TID 0000.0001) %MON exf_swflux_sd = 5.3553284830339E+00 (PID.TID 0000.0001) %MON exf_swflux_del2 = 3.0909436178235E+00 -(PID.TID 0000.0001) %MON exf_evap_max = 2.7573495723018E-08 -(PID.TID 0000.0001) %MON exf_evap_min = -1.6481874064228E-09 -(PID.TID 0000.0001) %MON exf_evap_mean = 1.0968110557786E-08 -(PID.TID 0000.0001) %MON exf_evap_sd = 8.4874547056755E-09 -(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8898915578441E-09 (PID.TID 0000.0001) %MON exf_swdown_max = 4.7872440108836E+01 (PID.TID 0000.0001) %MON exf_swdown_min = 2.9062044070718E+01 (PID.TID 0000.0001) %MON exf_swdown_mean = 3.7767257951801E+01 @@ -3381,123 +3553,123 @@ (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWsn.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWuice.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWvice.seaice_obcs - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.10926355E-02 2.67445862E-02 - SEAICE_LSR: Residual FrDrift U_fd,V_fd= 2.48820279E-02 9.24879765E-03 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 28 5.72964419E-13 1.03236239E-13 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 18 1.03569930E-13 1.16249001E-14 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 1.42074739E-02 1.43323877E-02 - SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.62279851E-02 1.51081470E-02 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 26 9.75629950E-13 1.26027755E-13 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 18 1.18238752E-13 1.32087835E-14 - cg2d: Sum(rhs),rhsMax = -5.87019255052363E+00 1.19879295939251E+00 -(PID.TID 0000.0001) cg2d_init_res = 3.19759683543535E+00 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 1.36858144E-02 7.40112226E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 2.99309572E-02 8.21349935E-03 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 28 8.91644397E-13 1.56279319E-13 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 18 5.37417333E-13 6.10092697E-14 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 5.05266292E-03 4.01438721E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 2.41268045E-02 8.04586311E-03 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 32 5.92484395E-13 9.94742297E-14 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 18 2.77451673E-13 2.81842339E-14 + cg2d: Sum(rhs),rhsMax = 4.91551353396641E+00 1.43017869510282E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.94764682264086E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 25 -(PID.TID 0000.0001) cg2d_last_res = 4.53658884236252E-13 +(PID.TID 0000.0001) cg2d_last_res = 1.92780796314150E-13 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 3 (PID.TID 0000.0001) %MON time_secondsf = 1.0800000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 7.2125415875466E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -3.1383696287845E-01 -(PID.TID 0000.0001) %MON dynstat_eta_mean = 3.9784046261753E-01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 2.0215293841504E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.8000612793744E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.9493420270692E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.0642744583905E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.9369233012376E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.6490606278706E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.1018788787984E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.3487206237445E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -3.9854189578606E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 4.5824451610011E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.3669497506120E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.8871710028943E-03 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.2485895151171E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.9693652342988E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 3.9382652489514E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 8.5849397109598E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 4.1975179395602E-06 -(PID.TID 0000.0001) %MON dynstat_theta_max = 6.0022605860660E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8167263703031E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1880554294804E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.9596014490993E-01 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.2742073726627E-02 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939862848140E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2482363875279E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4812614719569E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1451806813114E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.4992697589994E-03 -(PID.TID 0000.0001) %MON forcing_qnet_max = 3.0376552951706E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = 1.4861371129094E+00 -(PID.TID 0000.0001) %MON forcing_qnet_mean = 8.3001743444601E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0027081965079E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.0597761097805E+01 -(PID.TID 0000.0001) %MON forcing_qsw_max = -3.0768554311025E-02 +(PID.TID 0000.0001) %MON dynstat_eta_max = -3.0841107370601E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -7.5132613237531E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.9744004291202E-01 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.9102294647616E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.3502643537353E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.0237408155075E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -5.4296679344026E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 3.4737207692099E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.7494709758918E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.3774332711211E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.8686602684633E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -5.4768087965466E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 7.9519447991721E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 3.2544121387632E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.1282441142551E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.4220277680384E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -3.3775159857080E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -9.0294691352996E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 7.2481685570693E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 4.8810342101015E-06 +(PID.TID 0000.0001) %MON dynstat_theta_max = 6.0039730615543E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8186364023214E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1867628556235E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.9947643573590E-01 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.3255298018438E-02 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939862635254E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2482144503697E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4811907618263E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1605455217846E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.5731716041758E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 3.0372879347708E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = 1.4502567499965E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 8.3318711286788E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0011459072982E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.0679604713296E+01 +(PID.TID 0000.0001) %MON forcing_qsw_max = -2.4093479910131E-02 (PID.TID 0000.0001) %MON forcing_qsw_min = -4.3085196097952E+01 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -2.3823426886758E+01 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.5641742690576E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 2.4859639495338E+00 -(PID.TID 0000.0001) %MON forcing_empmr_max = 5.5574818844972E-04 -(PID.TID 0000.0001) %MON forcing_empmr_min = -8.4478537748607E-05 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.6228785521541E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.2355156181741E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 5.9307963689506E-05 -(PID.TID 0000.0001) %MON forcing_fu_max = 7.3472414944780E-02 -(PID.TID 0000.0001) %MON forcing_fu_min = 4.9286730221403E-03 -(PID.TID 0000.0001) %MON forcing_fu_mean = 2.6215186656773E-02 -(PID.TID 0000.0001) %MON forcing_fu_sd = 1.4771571941785E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 4.0613312030694E-03 -(PID.TID 0000.0001) %MON forcing_fv_max = 6.1606866127934E-04 -(PID.TID 0000.0001) %MON forcing_fv_min = -1.1113655733752E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.4476594430028E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 2.9247200691842E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.8395816363817E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.1634025226474E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.1243815613063E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 5.2137949895538E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.1632419205078E-03 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.1832804751069E-03 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.0495366794330E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 5.2137949895538E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 5.7241409767012E-04 -(PID.TID 0000.0001) %MON ke_max = 1.0463515802773E-02 -(PID.TID 0000.0001) %MON ke_mean = 1.1893418238500E-03 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -2.3823347906554E+01 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.5636408430842E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 2.4859021433346E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 5.5556825169808E-04 +(PID.TID 0000.0001) %MON forcing_empmr_min = -9.5561360135939E-05 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.5241659295233E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.2444369819802E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 6.0842564264393E-05 +(PID.TID 0000.0001) %MON forcing_fu_max = 3.9371811395611E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = 5.1520134001596E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 2.1584319680998E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 9.0346350621083E-03 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.7639134012341E-03 +(PID.TID 0000.0001) %MON forcing_fv_max = 6.1612743211412E-04 +(PID.TID 0000.0001) %MON forcing_fv_min = -2.4380817984305E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = -5.7080965070801E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.4883220399983E-03 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 9.6235546236686E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.9524548940759E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.5070014881170E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.0353849083548E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.9523050014936E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.5359039849106E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.4000776560242E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.0353849083548E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 5.5892030377674E-04 +(PID.TID 0000.0001) %MON ke_max = 5.5853274761326E-03 +(PID.TID 0000.0001) %MON ke_mean = 9.4600458617393E-04 (PID.TID 0000.0001) %MON ke_vol = 2.0812333426156E+15 -(PID.TID 0000.0001) %MON vort_r_min = -8.9413173848464E-07 -(PID.TID 0000.0001) %MON vort_r_max = 1.4031689659674E-06 -(PID.TID 0000.0001) %MON vort_a_mean = 1.1459528087956E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 5.2477483480054E-06 -(PID.TID 0000.0001) %MON vort_p_mean = 1.7066152357934E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 1.1048719000506E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -6.6769660881112E-05 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.0689091642348E-03 +(PID.TID 0000.0001) %MON vort_r_min = -7.0006356040461E-07 +(PID.TID 0000.0001) %MON vort_r_max = 7.4729622011049E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.1459601689775E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 5.3501095397340E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7066261969766E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1041237582730E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -8.8394236665109E-05 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.9133263286640E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= -(PID.TID 0000.0001) %MON obc_E_uVel_max = 2.0722654828388E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_min = -6.1554653521533E-03 -(PID.TID 0000.0001) %MON obc_E_uVel_mean = 7.0179374084486E-03 -(PID.TID 0000.0001) %MON obc_E_uVel_sd = 2.9899106168938E-03 -(PID.TID 0000.0001) %MON obc_E_uVel_Int = 1.4491267286051E+07 -(PID.TID 0000.0001) %MON obc_W_uVel_max = -8.2592594745984E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_min = -1.0508782232935E-01 -(PID.TID 0000.0001) %MON obc_W_uVel_mean = -8.8223621167847E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_sd = 4.0877776407421E-03 -(PID.TID 0000.0001) %MON obc_W_uVel_Int = -1.0202419847439E+07 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 1.0326816410641E-01 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 5.4460706333924E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 8.7623094558947E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 9.2430075284801E-03 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 1.1497027414785E+07 -(PID.TID 0000.0001) %MON obc_S_vVel_max = 9.0933716781769E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_min = 4.2445422230556E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_mean = 8.7152177887948E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.5149327130856E-03 -(PID.TID 0000.0001) %MON obc_S_vVel_Int = 7.5803389171821E+07 +(PID.TID 0000.0001) %MON obc_E_uVel_max = 1.0237408155075E-01 +(PID.TID 0000.0001) %MON obc_E_uVel_min = 7.1774242496700E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_mean = 8.6335720159237E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_sd = 3.1236111196743E-03 +(PID.TID 0000.0001) %MON obc_E_uVel_Int = 1.7827374687826E+08 +(PID.TID 0000.0001) %MON obc_W_uVel_max = -1.0591635973551E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_min = -3.5414669690080E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_mean = -1.7606756097720E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_sd = 4.0736009807059E-03 +(PID.TID 0000.0001) %MON obc_W_uVel_Int = -2.0360932308440E+06 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 1.5985504730395E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_min = -2.8879581012973E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 2.8741865466411E-03 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 7.9827300057633E-03 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.7712205541551E+05 +(PID.TID 0000.0001) %MON obc_S_vVel_max = 8.8686602684633E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_min = 4.0423260332049E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_mean = 8.5982462233718E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.2190380977078E-03 +(PID.TID 0000.0001) %MON obc_S_vVel_Int = 7.4785991636764E+07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= @@ -3506,36 +3678,36 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 3 (PID.TID 0000.0001) %MON seaice_time_sec = 1.0800000000000E+04 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.1295295506716E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.5657299972016E-01 (PID.TID 0000.0001) %MON seaice_uice_min = -6.9543756544590E-02 -(PID.TID 0000.0001) %MON seaice_uice_mean = 2.5472970576577E-02 -(PID.TID 0000.0001) %MON seaice_uice_sd = 3.9803468493340E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.2638529064645E-02 -(PID.TID 0000.0001) %MON seaice_vice_max = 6.0219938694212E-02 +(PID.TID 0000.0001) %MON seaice_uice_mean = 5.5102645617093E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 4.5614748932882E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.3639919360008E-02 +(PID.TID 0000.0001) %MON seaice_vice_max = 3.4774991470596E-02 (PID.TID 0000.0001) %MON seaice_vice_min = -1.1174201220274E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = -2.3930350582630E-02 -(PID.TID 0000.0001) %MON seaice_vice_sd = 4.7407375218911E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 5.3457725965537E-03 -(PID.TID 0000.0001) %MON seaice_area_max = 9.9817682490551E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = -3.8849099098230E-02 +(PID.TID 0000.0001) %MON seaice_vice_sd = 3.9705154554390E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 4.4723366482896E-03 +(PID.TID 0000.0001) %MON seaice_area_max = 9.9843487203242E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 3.3481293307203E-01 -(PID.TID 0000.0001) %MON seaice_area_sd = 4.1319628063451E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 7.1369787292413E-02 -(PID.TID 0000.0001) %MON seaice_heff_max = 4.6563992774372E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 3.3477989521769E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.1302210313100E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 7.1404290167031E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 4.6486119189133E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 7.8234831880434E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 1.1793726429132E-01 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 1.4035146020571E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 8.1576589241707E-02 +(PID.TID 0000.0001) %MON seaice_heff_mean = 7.8231291475722E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.1787159444356E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 1.4036601211193E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 8.1512374186582E-02 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.7091699094271E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.4668283572278E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 4.2335208914798E-03 -(PID.TID 0000.0001) %MON seaice_hsalt_max = 3.9859172307868E+01 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.7090719286430E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.4660188629600E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 4.2358215809770E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 3.9866650714992E+01 (PID.TID 0000.0001) %MON seaice_hsalt_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_mean = 3.5970990414401E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_sd = 7.9118206234193E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 3.8018599249517E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 3.5993044264759E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 7.9138804728885E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 3.8030862147106E+00 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= @@ -3544,26 +3716,26 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON exf_tsnumber = 3 (PID.TID 0000.0001) %MON exf_time_sec = 1.0800000000000E+04 -(PID.TID 0000.0001) %MON exf_ustress_max = 3.4467214043915E-02 -(PID.TID 0000.0001) %MON exf_ustress_min = 3.8392813931509E-03 -(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8067232324040E-02 -(PID.TID 0000.0001) %MON exf_ustress_sd = 9.7336488131132E-03 -(PID.TID 0000.0001) %MON exf_ustress_del2 = 3.7607469635893E-03 -(PID.TID 0000.0001) %MON exf_vstress_max = 6.9048822086004E-03 -(PID.TID 0000.0001) %MON exf_vstress_min = -1.4731446723861E-02 -(PID.TID 0000.0001) %MON exf_vstress_mean = -1.4603301176116E-03 -(PID.TID 0000.0001) %MON exf_vstress_sd = 5.4668715254918E-03 -(PID.TID 0000.0001) %MON exf_vstress_del2 = 2.5621024712743E-03 -(PID.TID 0000.0001) %MON exf_hflux_max = 3.0391189972857E+02 -(PID.TID 0000.0001) %MON exf_hflux_min = 1.6249297525284E+00 -(PID.TID 0000.0001) %MON exf_hflux_mean = 1.3249421429792E+02 -(PID.TID 0000.0001) %MON exf_hflux_sd = 1.0764286611264E+02 -(PID.TID 0000.0001) %MON exf_hflux_del2 = 5.2151941954265E+01 -(PID.TID 0000.0001) %MON exf_sflux_max = 8.8266360746462E-09 -(PID.TID 0000.0001) %MON exf_sflux_min = -5.9084158478359E-08 -(PID.TID 0000.0001) %MON exf_sflux_mean = -2.1059918674333E-08 -(PID.TID 0000.0001) %MON exf_sflux_sd = 2.1987806936792E-08 -(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.0225002405666E-08 +(PID.TID 0000.0001) %MON exf_ustress_max = 3.4463871445836E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = 3.8392574730252E-03 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8059662955573E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 9.7340130327938E-03 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 3.7592906034126E-03 +(PID.TID 0000.0001) %MON exf_vstress_max = 6.9048680986400E-03 +(PID.TID 0000.0001) %MON exf_vstress_min = -1.4731190369426E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -1.4590343350510E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 5.4662620438537E-03 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 2.5617719179757E-03 +(PID.TID 0000.0001) %MON exf_hflux_max = 3.0379630697438E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = 1.5615586803408E+00 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.3241793654190E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.0764184857285E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 5.2155285066004E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 8.8223752933513E-09 +(PID.TID 0000.0001) %MON exf_sflux_min = -5.9095487003917E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.1070143385391E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 2.1989701782974E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.0226030923210E-08 (PID.TID 0000.0001) %MON exf_uwind_max = 5.3590723471563E+00 (PID.TID 0000.0001) %MON exf_uwind_min = 6.3920666668259E-01 (PID.TID 0000.0001) %MON exf_uwind_mean = 3.0578795193580E+00 @@ -3589,11 +3761,16 @@ (PID.TID 0000.0001) %MON exf_aqh_mean = 2.4669735891982E-03 (PID.TID 0000.0001) %MON exf_aqh_sd = 1.2814990509225E-03 (PID.TID 0000.0001) %MON exf_aqh_del2 = 6.0177087695386E-04 -(PID.TID 0000.0001) %MON exf_lwflux_max = 1.3449109141278E+02 -(PID.TID 0000.0001) %MON exf_lwflux_min = 4.4299157901652E+01 -(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5145652289249E+01 -(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4348828618002E+01 -(PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.7997266823204E+01 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.3446231526538E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 4.4294221072560E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5120782489498E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4354701921700E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.8000199733767E+01 +(PID.TID 0000.0001) %MON exf_evap_max = 2.7578267589199E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -1.6414100968083E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0963005518154E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 8.4844044442771E-09 +(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8889997960013E-09 (PID.TID 0000.0001) %MON exf_precip_max = 5.9491621785516E-08 (PID.TID 0000.0001) %MON exf_precip_min = 7.4893457774248E-09 (PID.TID 0000.0001) %MON exf_precip_mean = 3.2033148903546E-08 @@ -3604,11 +3781,6 @@ (PID.TID 0000.0001) %MON exf_swflux_mean = -3.3953115408683E+01 (PID.TID 0000.0001) %MON exf_swflux_sd = 5.3529725421105E+00 (PID.TID 0000.0001) %MON exf_swflux_del2 = 3.0872339958363E+00 -(PID.TID 0000.0001) %MON exf_evap_max = 2.7589387717689E-08 -(PID.TID 0000.0001) %MON exf_evap_min = -1.6369305658241E-09 -(PID.TID 0000.0001) %MON exf_evap_mean = 1.0973230229213E-08 -(PID.TID 0000.0001) %MON exf_evap_sd = 8.4848035882432E-09 -(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8883479602293E-09 (PID.TID 0000.0001) %MON exf_swdown_max = 4.7822326316208E+01 (PID.TID 0000.0001) %MON exf_swdown_min = 2.9028877625700E+01 (PID.TID 0000.0001) %MON exf_swdown_mean = 3.7725683787426E+01 @@ -3667,123 +3839,123 @@ (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWsn.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWuice.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWvice.seaice_obcs - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 1.79143407E-02 3.34642344E-02 - SEAICE_LSR: Residual FrDrift U_fd,V_fd= 3.56244966E-02 5.88005497E-02 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 24 2.58928295E-13 2.44697375E-14 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 16 8.22925061E-13 7.58437387E-14 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 7.71699010E-03 1.80527138E-02 - SEAICE_LSR: Residual FrDrift U_fd,V_fd= 2.39466206E-02 1.95471427E-02 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 22 6.83619827E-13 5.15769288E-14 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 16 1.51670343E-13 9.51718354E-15 - cg2d: Sum(rhs),rhsMax = -4.21942346926366E+00 1.19576232030277E+00 -(PID.TID 0000.0001) cg2d_init_res = 1.59286752317561E+00 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 1.90207463E-02 5.89401122E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.88268634E-02 8.50398056E-03 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 34 4.49196236E-13 7.14592593E-14 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 16 1.43315915E-13 1.35542695E-14 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 4.09648775E-03 3.65513799E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.91066042E-02 8.91817205E-03 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 36 3.59802466E-13 6.61491597E-14 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 16 4.23688862E-13 3.80607836E-14 + cg2d: Sum(rhs),rhsMax = 1.04623600566480E+01 1.49697200658658E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.09205680668680E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 24 -(PID.TID 0000.0001) cg2d_last_res = 8.01958543566505E-13 +(PID.TID 0000.0001) cg2d_last_res = 4.68058208809244E-13 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 4 (PID.TID 0000.0001) %MON time_secondsf = 1.4400000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 6.8275868451181E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.9596753652734E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = 2.8523998114211E-01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.8218978965466E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.5843982544398E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 7.5531524403702E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.7231844503091E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 5.4539192210085E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.7197179060029E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.3642498796169E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.8017058651873E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -4.7918664281111E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 3.8504977688525E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.9632124002395E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.4943117766471E-03 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.2218870472900E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.9696733892791E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -3.0577356514464E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 9.9929644536999E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 5.0162901249579E-06 -(PID.TID 0000.0001) %MON dynstat_theta_max = 5.9959882519012E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8158353873086E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1881502033590E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.9529999143244E-01 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.2690844775205E-02 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939862633283E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2481518029243E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4812587918664E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1446099338342E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.4787302240804E-03 -(PID.TID 0000.0001) %MON forcing_qnet_max = 3.0391189972857E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = 1.6249297525284E+00 -(PID.TID 0000.0001) %MON forcing_qnet_mean = 8.2957591584736E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0027408199105E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.0543468183754E+01 -(PID.TID 0000.0001) %MON forcing_qsw_max = -7.5837867883615E-02 +(PID.TID 0000.0001) %MON dynstat_eta_max = -2.9807346477530E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3152542595882E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -8.8543311755658E-01 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 2.7800537390298E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.9826712872941E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.5231137098573E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.1883637830719E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 5.1350389587616E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 3.0123870174190E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.8091819546980E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 5.6493947042577E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -9.8494655023466E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.3418154953930E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.9312863079645E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.8942092952100E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.0572062743326E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -3.2979274134698E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.3418221242186E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 8.4760640975671E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 5.8977190890902E-06 +(PID.TID 0000.0001) %MON dynstat_theta_max = 5.9938310384839E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8193097668568E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1859184709170E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 8.0125854282202E-01 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.3291565589357E-02 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939861876519E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2481300183599E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4811493056309E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1700590990037E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.6059754240635E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 3.0379435377249E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = 1.5615586803408E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 8.3645164105505E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0021857429583E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.0776002161311E+01 +(PID.TID 0000.0001) %MON forcing_qsw_max = -4.4561866335243E-02 (PID.TID 0000.0001) %MON forcing_qsw_min = -4.3040093684587E+01 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -2.3793383960080E+01 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.5628332415730E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 2.4737143600418E+00 -(PID.TID 0000.0001) %MON forcing_empmr_max = 5.5437972387966E-04 -(PID.TID 0000.0001) %MON forcing_empmr_min = -8.8858370504843E-05 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.6298220154835E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.2275694860940E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 5.8550506503837E-05 -(PID.TID 0000.0001) %MON forcing_fu_max = 6.7232265703348E-02 -(PID.TID 0000.0001) %MON forcing_fu_min = 4.5401551514221E-03 -(PID.TID 0000.0001) %MON forcing_fu_mean = 2.5145388677101E-02 -(PID.TID 0000.0001) %MON forcing_fu_sd = 1.4936812243508E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 4.6697877784729E-03 -(PID.TID 0000.0001) %MON forcing_fv_max = 6.1197098153312E-04 -(PID.TID 0000.0001) %MON forcing_fv_min = -9.9059974110295E-02 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.4065590338747E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 2.6674763304739E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3093127337018E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.5928409235112E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.8378825469983E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 5.6298684731968E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.5927092880975E-03 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.9165634217321E-03 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.1144604182632E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 5.6298684731968E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.2927559073362E-04 -(PID.TID 0000.0001) %MON ke_max = 1.4877932035252E-02 -(PID.TID 0000.0001) %MON ke_mean = 9.9618405861211E-04 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -2.3793853494360E+01 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.5611572445234E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 2.4757557431886E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 5.5375288696240E-04 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.2384800926865E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.4138766419048E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.2503086354033E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 6.1758269898749E-05 +(PID.TID 0000.0001) %MON forcing_fu_max = 3.8539676431656E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = 4.7767267151270E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 2.1221614486455E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 8.9019798635317E-03 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.6826348562560E-03 +(PID.TID 0000.0001) %MON forcing_fv_max = 6.1217400484418E-04 +(PID.TID 0000.0001) %MON forcing_fv_min = -2.8411516200403E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = -6.0777050784315E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 8.2812133192974E-03 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.0277784238272E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.0971218860114E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.6370997105543E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.4115149212724E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.0969138800633E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.5944106839421E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.2461038340639E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.4115149212724E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 2.4756507091131E-03 +(PID.TID 0000.0001) %MON ke_max = 9.5977445101391E-03 +(PID.TID 0000.0001) %MON ke_mean = 1.6689144987890E-03 (PID.TID 0000.0001) %MON ke_vol = 2.0812333426156E+15 -(PID.TID 0000.0001) %MON vort_r_min = -7.6896506388385E-07 -(PID.TID 0000.0001) %MON vort_r_max = 1.5815533169459E-06 -(PID.TID 0000.0001) %MON vort_a_mean = 1.1459551596532E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 5.2921204915273E-06 -(PID.TID 0000.0001) %MON vort_p_mean = 1.7066187368185E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 1.1047953807368E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.5215943759546E-04 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.0745805328881E-03 +(PID.TID 0000.0001) %MON vort_r_min = -1.1197449452406E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.0386694081166E-06 +(PID.TID 0000.0001) %MON vort_a_mean = 1.1459570391962E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 5.3786711942589E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7066215359361E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1043467957635E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -7.0586851909203E-05 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.5322505906078E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= -(PID.TID 0000.0001) %MON obc_E_uVel_max = 6.7896661303001E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_min = 3.2814643331178E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_mean = 5.3694574163151E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_sd = 4.2632718643488E-03 -(PID.TID 0000.0001) %MON obc_E_uVel_Int = 1.1087337784919E+08 -(PID.TID 0000.0001) %MON obc_W_uVel_max = -4.5908923363034E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_min = -7.3589856662395E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_mean = -5.3216231084988E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_sd = 5.3634991339505E-03 -(PID.TID 0000.0001) %MON obc_W_uVel_Int = -6.1540699082670E+06 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0927529812871E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 1.7795301998355E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 5.4798631479793E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 9.4372649864945E-03 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 7.1901291729890E+06 -(PID.TID 0000.0001) %MON obc_S_vVel_max = 1.0223774797621E-01 -(PID.TID 0000.0001) %MON obc_S_vVel_min = 5.2124130243183E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_mean = 9.8981045905293E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.0777866084477E-03 -(PID.TID 0000.0001) %MON obc_S_vVel_Int = 8.6091924782872E+07 +(PID.TID 0000.0001) %MON obc_E_uVel_max = 1.1505532171577E-01 +(PID.TID 0000.0001) %MON obc_E_uVel_min = 7.8993359580636E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_mean = 9.9780787615890E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_sd = 4.1936629969894E-03 +(PID.TID 0000.0001) %MON obc_E_uVel_Int = 2.0603632936564E+08 +(PID.TID 0000.0001) %MON obc_W_uVel_max = -2.2601080099758E-03 +(PID.TID 0000.0001) %MON obc_W_uVel_min = -3.1643866092962E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_mean = -1.1189949715605E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_sd = 4.9947514808017E-03 +(PID.TID 0000.0001) %MON obc_W_uVel_Int = -1.2940362632943E+06 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 3.1415440274855E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_min = -1.5931127460221E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 1.7348042048122E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 8.2692207921070E-03 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 2.2762368303019E+06 +(PID.TID 0000.0001) %MON obc_S_vVel_max = 5.3651632357401E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_min = 4.2833389835558E-03 +(PID.TID 0000.0001) %MON obc_S_vVel_mean = 5.1019595024696E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.0054242958190E-03 +(PID.TID 0000.0001) %MON obc_S_vVel_Int = 4.4375921643842E+07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= @@ -3792,36 +3964,36 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 4 (PID.TID 0000.0001) %MON seaice_time_sec = 1.4400000000000E+04 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.4819845717196E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.9382046925642E-01 (PID.TID 0000.0001) %MON seaice_uice_min = -6.8224221467972E-02 -(PID.TID 0000.0001) %MON seaice_uice_mean = 2.8908066154011E-02 -(PID.TID 0000.0001) %MON seaice_uice_sd = 5.3365612001171E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.4913022178806E-02 -(PID.TID 0000.0001) %MON seaice_vice_max = 9.3465736326748E-02 +(PID.TID 0000.0001) %MON seaice_uice_mean = 7.3340271627453E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 5.8869900472373E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.6427369814014E-02 +(PID.TID 0000.0001) %MON seaice_vice_max = 2.5887413757610E-02 (PID.TID 0000.0001) %MON seaice_vice_min = -1.1341330409050E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 3.1090186326568E-03 -(PID.TID 0000.0001) %MON seaice_vice_sd = 5.1532776828736E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.0322842560077E-02 -(PID.TID 0000.0001) %MON seaice_area_max = 9.9645549200918E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = -3.9837456860362E-02 +(PID.TID 0000.0001) %MON seaice_vice_sd = 3.3022099961397E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 4.9892400069873E-03 +(PID.TID 0000.0001) %MON seaice_area_max = 9.9766785245230E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 3.3497289729250E-01 -(PID.TID 0000.0001) %MON seaice_area_sd = 4.1328183071588E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 7.1060850834119E-02 -(PID.TID 0000.0001) %MON seaice_heff_max = 4.6803799566498E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 3.3493390367976E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.1267773215630E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 7.1116481364674E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 4.6552606352906E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 7.8471137542049E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 1.1821689292190E-01 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 1.3977787880805E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 8.1721274082197E-02 +(PID.TID 0000.0001) %MON seaice_heff_mean = 7.8460206568317E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.1801447082705E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 1.3987800015355E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 8.1535058261332E-02 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.7193450313259E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.4772688880754E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 4.2460681930751E-03 -(PID.TID 0000.0001) %MON seaice_hsalt_max = 5.9638846278614E+01 -(PID.TID 0000.0001) %MON seaice_hsalt_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_mean = 5.3815965878806E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.1825159720633E+01 -(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 5.6808248030924E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.7189363916129E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.4749486406754E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 4.2553999634458E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 5.9669249618078E+01 +(PID.TID 0000.0001) %MON seaice_hsalt_min = -1.6155871338926E-27 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 5.3990738409535E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.1840520266039E+01 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 5.6867288461308E+00 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= @@ -3830,26 +4002,26 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON exf_tsnumber = 4 (PID.TID 0000.0001) %MON exf_time_sec = 1.4400000000000E+04 -(PID.TID 0000.0001) %MON exf_ustress_max = 3.4424047613388E-02 -(PID.TID 0000.0001) %MON exf_ustress_min = 3.8411180250817E-03 -(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8062719380446E-02 -(PID.TID 0000.0001) %MON exf_ustress_sd = 9.7245932639458E-03 -(PID.TID 0000.0001) %MON exf_ustress_del2 = 3.7542016790644E-03 -(PID.TID 0000.0001) %MON exf_vstress_max = 6.9013416618648E-03 -(PID.TID 0000.0001) %MON exf_vstress_min = -1.4767529900493E-02 -(PID.TID 0000.0001) %MON exf_vstress_mean = -1.4684987210065E-03 -(PID.TID 0000.0001) %MON exf_vstress_sd = 5.4738629298058E-03 -(PID.TID 0000.0001) %MON exf_vstress_del2 = 2.5650298135880E-03 -(PID.TID 0000.0001) %MON exf_hflux_max = 3.0403697765161E+02 -(PID.TID 0000.0001) %MON exf_hflux_min = 1.7482099968454E+00 -(PID.TID 0000.0001) %MON exf_hflux_mean = 1.3257469241656E+02 -(PID.TID 0000.0001) %MON exf_hflux_sd = 1.0764917675883E+02 -(PID.TID 0000.0001) %MON exf_hflux_del2 = 5.2150085515417E+01 -(PID.TID 0000.0001) %MON exf_sflux_max = 8.8517849016859E-09 -(PID.TID 0000.0001) %MON exf_sflux_min = -5.9062768585611E-08 -(PID.TID 0000.0001) %MON exf_sflux_mean = -2.1053487548836E-08 -(PID.TID 0000.0001) %MON exf_sflux_sd = 2.1992974785703E-08 -(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.0227672983361E-08 +(PID.TID 0000.0001) %MON exf_ustress_max = 3.4413954482357E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = 3.8410412866379E-03 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8052035310341E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 9.7235422670228E-03 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 3.7518217683725E-03 +(PID.TID 0000.0001) %MON exf_vstress_max = 6.9012217104659E-03 +(PID.TID 0000.0001) %MON exf_vstress_min = -1.4766542127553E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -1.4667791731871E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 5.4729011540050E-03 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 2.5644908479566E-03 +(PID.TID 0000.0001) %MON exf_hflux_max = 3.0383606082109E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = 1.6662837015370E+00 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.3246018411127E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.0764812794616E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 5.2155318832980E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 8.8441811692881E-09 +(PID.TID 0000.0001) %MON exf_sflux_min = -5.9077413505430E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.1068785631704E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 2.1995736721783E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.0229478611595E-08 (PID.TID 0000.0001) %MON exf_uwind_max = 5.3565802039996E+00 (PID.TID 0000.0001) %MON exf_uwind_min = 6.3948269212832E-01 (PID.TID 0000.0001) %MON exf_uwind_mean = 3.0571431350855E+00 @@ -3875,11 +4047,16 @@ (PID.TID 0000.0001) %MON exf_aqh_mean = 2.4663067750694E-03 (PID.TID 0000.0001) %MON exf_aqh_sd = 1.2813670305131E-03 (PID.TID 0000.0001) %MON exf_aqh_del2 = 6.0181312336198E-04 -(PID.TID 0000.0001) %MON exf_lwflux_max = 1.3448487975080E+02 -(PID.TID 0000.0001) %MON exf_lwflux_min = 4.4309537848735E+01 -(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5157532495864E+01 -(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4337648204757E+01 -(PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.7989854359946E+01 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.3443487373770E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 4.4303928434091E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5121076133764E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4344926884874E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.7993405701878E+01 +(PID.TID 0000.0001) %MON exf_evap_max = 2.7591315721869E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -1.6338211913046E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0959628878557E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 8.4814364887996E-09 +(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8877681434311E-09 (PID.TID 0000.0001) %MON exf_precip_max = 5.9484783233933E-08 (PID.TID 0000.0001) %MON exf_precip_min = 7.4767954353598E-09 (PID.TID 0000.0001) %MON exf_precip_mean = 3.2028414510261E-08 @@ -3890,11 +4067,6 @@ (PID.TID 0000.0001) %MON exf_swflux_mean = -3.3915698660746E+01 (PID.TID 0000.0001) %MON exf_swflux_sd = 5.3506194880451E+00 (PID.TID 0000.0001) %MON exf_swflux_del2 = 3.0835246887711E+00 -(PID.TID 0000.0001) %MON exf_evap_max = 2.7603653434046E-08 -(PID.TID 0000.0001) %MON exf_evap_min = -1.6268810364787E-09 -(PID.TID 0000.0001) %MON exf_evap_mean = 1.0974926961425E-08 -(PID.TID 0000.0001) %MON exf_evap_sd = 8.4812719934623E-09 -(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8866472763474E-09 (PID.TID 0000.0001) %MON exf_swdown_max = 4.7772212523580E+01 (PID.TID 0000.0001) %MON exf_swdown_min = 2.8995711180682E+01 (PID.TID 0000.0001) %MON exf_swdown_mean = 3.7684109623051E+01 @@ -3953,123 +4125,123 @@ (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWsn.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWuice.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWvice.seaice_obcs - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 1.98835963E-02 1.47550490E-02 - SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.65491588E-02 1.17249388E-02 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 24 5.12201392E-13 3.00638635E-14 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 14 7.35383976E-14 2.48428230E-15 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 6.07764114E-03 7.15330643E-03 - SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.14237064E-02 9.52510098E-03 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 24 2.54976595E-13 1.55922634E-14 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 14 2.30371278E-14 5.74525340E-16 - cg2d: Sum(rhs),rhsMax = 4.59750043493862E-01 1.24266981049921E+00 -(PID.TID 0000.0001) cg2d_init_res = 1.47556711054865E+00 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 2.20097113E-02 8.86621096E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 3.13803005E-02 1.65136184E-02 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 42 7.44612705E-13 1.52432886E-13 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 20 9.26203558E-14 8.63669857E-15 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 8.26967473E-03 4.79840790E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 3.23153590E-02 1.74245610E-02 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 46 5.09543796E-13 1.43530161E-13 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 18 2.40210629E-13 2.28101492E-14 + cg2d: Sum(rhs),rhsMax = 1.83584384280065E+01 1.36230888138430E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.26593910616310E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 25 -(PID.TID 0000.0001) cg2d_last_res = 1.44783284532094E-13 +(PID.TID 0000.0001) cg2d_last_res = 2.45514597488752E-13 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 5 (PID.TID 0000.0001) %MON time_secondsf = 1.8000000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 7.2741199161905E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -5.8638788015694E-01 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.2299064766802E-02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 3.7419439158049E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.3352670177986E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.0207035552487E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.6487287073366E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 3.2607576346241E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 3.1071094255183E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.7632749234537E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.4546509705327E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -7.3117658606749E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.2793047761147E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 3.3612527480812E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.1956596520882E-03 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.9830874207775E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -3.1300724775268E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -9.4284650116574E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 8.3100871032309E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 5.3613609589517E-06 -(PID.TID 0000.0001) %MON dynstat_theta_max = 5.9874103995960E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8151814474606E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1877594525994E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.9598985080754E-01 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.2744320340825E-02 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939862198067E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2480678303282E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4812346007457E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1494195282011E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.4810567092813E-03 -(PID.TID 0000.0001) %MON forcing_qnet_max = 3.0403697765161E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = 1.7482099968454E+00 -(PID.TID 0000.0001) %MON forcing_qnet_mean = 8.3343960973538E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 9.9982686111961E+01 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.0566353914504E+01 -(PID.TID 0000.0001) %MON forcing_qsw_max = -1.3293808922516E-01 +(PID.TID 0000.0001) %MON dynstat_eta_max = -7.4460696096727E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.8175388853389E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.4139164455409E+00 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 2.5762546361011E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.2145762124880E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.5836735511957E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.8097185871098E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 5.5667672071238E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.8641264745154E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.3786767392571E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.9314223725578E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3866322634665E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -3.3456149201681E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.4141598981910E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.9428461512576E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.2263628367281E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -4.2279161946325E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.4164288155397E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.0463563263370E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 6.8696094318247E-06 +(PID.TID 0000.0001) %MON dynstat_theta_max = 5.9856086771963E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8199398869568E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1848729365291E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 8.0362293287523E-01 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.3395394543692E-02 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939860971257E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2480464502308E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4811019577243E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1815374909375E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.6539660289712E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 3.0382979995392E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = 1.6662837015370E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 8.3894604000686E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0049623801891E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.0859928246285E+01 +(PID.TID 0000.0001) %MON forcing_qsw_max = -6.1834079840172E-02 (PID.TID 0000.0001) %MON forcing_qsw_min = -4.2994991271222E+01 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -2.3763097179660E+01 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.5610604738523E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 2.4599630038435E+00 -(PID.TID 0000.0001) %MON forcing_empmr_max = 5.5339185162582E-04 -(PID.TID 0000.0001) %MON forcing_empmr_min = -9.1854953143382E-05 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.4998909621432E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.2287190689772E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 5.9808509599892E-05 -(PID.TID 0000.0001) %MON forcing_fu_max = 4.5405291787244E-02 -(PID.TID 0000.0001) %MON forcing_fu_min = 4.4231221302309E-03 -(PID.TID 0000.0001) %MON forcing_fu_mean = 2.2453670054112E-02 -(PID.TID 0000.0001) %MON forcing_fu_sd = 1.0563394771556E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 4.2426475176846E-03 -(PID.TID 0000.0001) %MON forcing_fv_max = 6.0795895191611E-04 -(PID.TID 0000.0001) %MON forcing_fv_min = -6.4816351767853E-02 -(PID.TID 0000.0001) %MON forcing_fv_mean = -9.9663638461443E-03 -(PID.TID 0000.0001) %MON forcing_fv_sd = 1.7064204069283E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.4072389650481E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.5186411359956E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.2958247453620E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.5553964741961E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.5185132676158E-03 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.3547582843673E-03 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.3506117317311E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.5553964741961E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 4.0547481088565E-04 -(PID.TID 0000.0001) %MON ke_max = 1.0463943273906E-02 -(PID.TID 0000.0001) %MON ke_mean = 1.0490158996375E-03 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -2.3762802198776E+01 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.5579100446224E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 2.4633087380269E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 5.5205983060778E-04 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.2159954308991E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.3244437242683E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.2536884248503E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 6.1450774772722E-05 +(PID.TID 0000.0001) %MON forcing_fu_max = 3.8739234507902E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = 4.4804358111398E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 2.0282172762529E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 9.3808961565043E-03 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.7993438278578E-03 +(PID.TID 0000.0001) %MON forcing_fv_max = 6.0829715959751E-04 +(PID.TID 0000.0001) %MON forcing_fv_min = -3.1593197253400E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = -5.8403513889155E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 8.6710582357376E-03 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.4214045229764E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 6.9499902629757E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.3096238429151E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.9099081439753E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 6.9496374203329E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.2446510371990E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.4559053034560E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.9099081439753E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 5.9371394245223E-03 +(PID.TID 0000.0001) %MON ke_max = 2.6653351904930E-02 +(PID.TID 0000.0001) %MON ke_mean = 2.2650888901926E-03 (PID.TID 0000.0001) %MON ke_vol = 2.0812333426156E+15 -(PID.TID 0000.0001) %MON vort_r_min = -6.4049327142474E-07 -(PID.TID 0000.0001) %MON vort_r_max = 1.3173303724341E-06 -(PID.TID 0000.0001) %MON vort_a_mean = 1.1459566795456E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 5.3379280014276E-06 -(PID.TID 0000.0001) %MON vort_p_mean = 1.7066210003248E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 1.1048494878149E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.3546343837737E-04 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.9677741977476E-03 +(PID.TID 0000.0001) %MON vort_r_min = -1.8409643975940E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.1795327933706E-06 +(PID.TID 0000.0001) %MON vort_a_mean = 1.1459536371078E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 5.3832820602843E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7066164693610E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1048188240074E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -4.8614671738338E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.8934174755242E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= -(PID.TID 0000.0001) %MON obc_E_uVel_max = 1.0207035552487E-01 -(PID.TID 0000.0001) %MON obc_E_uVel_min = 5.7198061021224E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_mean = 8.6975699655548E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_sd = 5.9496561610256E-03 -(PID.TID 0000.0001) %MON obc_E_uVel_Int = 1.7959523400458E+08 -(PID.TID 0000.0001) %MON obc_W_uVel_max = 7.5916493280950E-03 -(PID.TID 0000.0001) %MON obc_W_uVel_min = -2.7703915635156E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_mean = -3.3065969640654E-03 -(PID.TID 0000.0001) %MON obc_W_uVel_sd = 6.6935406975629E-03 -(PID.TID 0000.0001) %MON obc_W_uVel_Int = -3.8238387913687E+05 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 2.4078181399215E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_min = -3.0611708252190E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 8.2548984959657E-03 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 9.5184989850304E-03 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 1.0831253426063E+06 -(PID.TID 0000.0001) %MON obc_S_vVel_max = 8.8787025268587E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_min = 3.3476116005876E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_mean = 8.4555077515849E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.0195967674721E-03 -(PID.TID 0000.0001) %MON obc_S_vVel_Int = 7.3544478207167E+07 +(PID.TID 0000.0001) %MON obc_E_uVel_max = 1.0131121525040E-01 +(PID.TID 0000.0001) %MON obc_E_uVel_min = 5.7630433751852E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_mean = 8.6214613735914E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_sd = 5.6631681590711E-03 +(PID.TID 0000.0001) %MON obc_E_uVel_Int = 1.7802367546150E+08 +(PID.TID 0000.0001) %MON obc_W_uVel_max = 1.1390422613048E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_min = -2.4845533862090E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_mean = -1.1420168296927E-03 +(PID.TID 0000.0001) %MON obc_W_uVel_sd = 6.2974940898310E-03 +(PID.TID 0000.0001) %MON obc_W_uVel_Int = -1.3206593670871E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 4.1956240063143E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_min = -6.0548710324047E-03 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 2.7713210362783E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 8.4165221230421E-03 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.6362507041823E+06 +(PID.TID 0000.0001) %MON obc_S_vVel_max = 7.3655601010850E-03 +(PID.TID 0000.0001) %MON obc_S_vVel_min = -4.6868654025979E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_mean = 3.2785513026856E-03 +(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.0853668829259E-03 +(PID.TID 0000.0001) %MON obc_S_vVel_Int = 2.8516246677941E+06 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= @@ -4078,36 +4250,36 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 5 (PID.TID 0000.0001) %MON seaice_time_sec = 1.8000000000000E+04 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.7330792091111E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 2.2817226240526E-01 (PID.TID 0000.0001) %MON seaice_uice_min = -6.8031609058380E-02 -(PID.TID 0000.0001) %MON seaice_uice_mean = 5.6343557086494E-02 -(PID.TID 0000.0001) %MON seaice_uice_sd = 5.9156616812146E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.6581735105168E-02 -(PID.TID 0000.0001) %MON seaice_vice_max = 9.2880674766036E-02 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.1501451581717E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 5.5314112310131E-03 -(PID.TID 0000.0001) %MON seaice_vice_sd = 4.6718341551065E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1294731902837E-02 -(PID.TID 0000.0001) %MON seaice_area_max = 9.9428367775809E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = 9.4024924544318E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 7.4104270198443E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.8952994700584E-02 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.2322478023725E-02 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.1586286116750E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = -5.3071476478778E-02 +(PID.TID 0000.0001) %MON seaice_vice_sd = 3.2009741114440E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 5.5626133495785E-03 +(PID.TID 0000.0001) %MON seaice_area_max = 9.9701966488195E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 3.3511000041507E-01 -(PID.TID 0000.0001) %MON seaice_area_sd = 4.1324865201285E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 7.0747085850842E-02 -(PID.TID 0000.0001) %MON seaice_heff_max = 4.7065861671965E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 3.3508500235266E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.1210735672600E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 7.0804055560122E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 4.6590795598062E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 7.8703151633806E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 1.1848278839370E-01 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 1.3924296584821E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 8.1849687279291E-02 +(PID.TID 0000.0001) %MON seaice_heff_mean = 7.8686145283136E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.1811533355534E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 1.3937382148584E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 8.1538057189041E-02 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.7294630710667E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.4869776029691E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 4.2575222200049E-03 -(PID.TID 0000.0001) %MON seaice_hsalt_max = 7.9387900931324E+01 -(PID.TID 0000.0001) %MON seaice_hsalt_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_mean = 7.1520464448998E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.5715725304427E+01 -(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 7.5518201364884E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.7288251102665E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.4830459211600E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 4.2748270637809E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 7.9374977279243E+01 +(PID.TID 0000.0001) %MON seaice_hsalt_min = -3.2311742677853E-27 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 7.2020734239422E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.5746738467560E+01 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 7.5575819872934E+00 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= @@ -4116,26 +4288,26 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON exf_tsnumber = 5 (PID.TID 0000.0001) %MON exf_time_sec = 1.8000000000000E+04 -(PID.TID 0000.0001) %MON exf_ustress_max = 3.4376497162362E-02 -(PID.TID 0000.0001) %MON exf_ustress_min = 3.8429486003132E-03 -(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8055994783775E-02 -(PID.TID 0000.0001) %MON exf_ustress_sd = 9.7148410082052E-03 -(PID.TID 0000.0001) %MON exf_ustress_del2 = 3.7470291089384E-03 -(PID.TID 0000.0001) %MON exf_vstress_max = 6.8978634331234E-03 -(PID.TID 0000.0001) %MON exf_vstress_min = -1.4803552665982E-02 -(PID.TID 0000.0001) %MON exf_vstress_mean = -1.4763547857320E-03 -(PID.TID 0000.0001) %MON exf_vstress_sd = 5.4806848159139E-03 -(PID.TID 0000.0001) %MON exf_vstress_del2 = 2.5678393671680E-03 -(PID.TID 0000.0001) %MON exf_hflux_max = 3.0411380294354E+02 -(PID.TID 0000.0001) %MON exf_hflux_min = 1.8582715939828E+00 -(PID.TID 0000.0001) %MON exf_hflux_mean = 1.3263539310076E+02 -(PID.TID 0000.0001) %MON exf_hflux_sd = 1.0766446121011E+02 -(PID.TID 0000.0001) %MON exf_hflux_del2 = 5.2151955404329E+01 -(PID.TID 0000.0001) %MON exf_sflux_max = 8.8739573188097E-09 -(PID.TID 0000.0001) %MON exf_sflux_min = -5.9043743437650E-08 -(PID.TID 0000.0001) %MON exf_sflux_mean = -2.1049669536620E-08 -(PID.TID 0000.0001) %MON exf_sflux_sd = 2.1999625231720E-08 -(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.0231332037761E-08 +(PID.TID 0000.0001) %MON exf_ustress_max = 3.4362617464471E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = 3.8428248831728E-03 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8043863007258E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 9.7127795571822E-03 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 3.7441839876463E-03 +(PID.TID 0000.0001) %MON exf_vstress_max = 6.8975736145561E-03 +(PID.TID 0000.0001) %MON exf_vstress_min = -1.4801876941994E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -1.4744590702090E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 5.4795181995766E-03 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 2.5671854526914E-03 +(PID.TID 0000.0001) %MON exf_hflux_max = 3.0385890267638E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = 1.7713312480524E+00 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.3249650878253E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.0765610797224E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 5.2155070967450E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 8.8656431431692E-09 +(PID.TID 0000.0001) %MON exf_sflux_min = -5.9059283565033E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.1068186029543E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 2.2002027788095E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.0233096282554E-08 (PID.TID 0000.0001) %MON exf_uwind_max = 5.3540880608428E+00 (PID.TID 0000.0001) %MON exf_uwind_min = 6.3975871757406E-01 (PID.TID 0000.0001) %MON exf_uwind_mean = 3.0564067508130E+00 @@ -4161,11 +4333,16 @@ (PID.TID 0000.0001) %MON exf_aqh_mean = 2.4656399609405E-03 (PID.TID 0000.0001) %MON exf_aqh_sd = 1.2812352511166E-03 (PID.TID 0000.0001) %MON exf_aqh_del2 = 6.0185540517630E-04 -(PID.TID 0000.0001) %MON exf_lwflux_max = 1.3446665825757E+02 -(PID.TID 0000.0001) %MON exf_lwflux_min = 4.4319558233810E+01 -(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5162842651935E+01 -(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4329532482455E+01 -(PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.7983381455124E+01 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.3440322829460E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 4.4313969344771E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5119481856811E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.4335674899965E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 1.7986377494917E+01 +(PID.TID 0000.0001) %MON exf_evap_max = 2.7607519047242E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -1.6270118699967E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0955494087433E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 8.4789081639905E-09 +(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8865808250829E-09 (PID.TID 0000.0001) %MON exf_precip_max = 5.9477944682351E-08 (PID.TID 0000.0001) %MON exf_precip_min = 7.4642450932949E-09 (PID.TID 0000.0001) %MON exf_precip_mean = 3.2023680116976E-08 @@ -4176,11 +4353,6 @@ (PID.TID 0000.0001) %MON exf_swflux_mean = -3.3878281912809E+01 (PID.TID 0000.0001) %MON exf_swflux_sd = 5.3482693246481E+00 (PID.TID 0000.0001) %MON exf_swflux_del2 = 3.0798156977657E+00 -(PID.TID 0000.0001) %MON exf_evap_max = 2.7616749071722E-08 -(PID.TID 0000.0001) %MON exf_evap_min = -1.6184227084179E-09 -(PID.TID 0000.0001) %MON exf_evap_mean = 1.0974010580356E-08 -(PID.TID 0000.0001) %MON exf_evap_sd = 8.4793690296299E-09 -(PID.TID 0000.0001) %MON exf_evap_del2 = 3.8856094586809E-09 (PID.TID 0000.0001) %MON exf_swdown_max = 4.7722098730952E+01 (PID.TID 0000.0001) %MON exf_swdown_min = 2.8962544735664E+01 (PID.TID 0000.0001) %MON exf_swdown_mean = 3.7642535458676E+01 @@ -4239,123 +4411,123 @@ (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWsn.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWuice.seaice_obcs (PID.TID 0000.0001) MDS_READ_SEC_YZ: opening global file: OBWvice.seaice_obcs - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 2.74366418E-02 1.86176734E-02 - SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.02121313E-02 6.46582971E-03 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 28 6.23875951E-13 3.70099662E-14 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 16 2.24265051E-14 4.38621466E-16 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 8.83623866E-03 8.46090188E-03 - SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.09372638E-02 7.65138533E-03 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 28 3.03188030E-13 2.29407011E-14 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 14 3.07968928E-13 7.19639807E-15 - cg2d: Sum(rhs),rhsMax = 5.30847267317280E+00 1.61042348218606E+00 -(PID.TID 0000.0001) cg2d_init_res = 1.17563607645859E+00 -(PID.TID 0000.0001) cg2d_iters(min,last) = -1 25 -(PID.TID 0000.0001) cg2d_last_res = 1.76718080203458E-13 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 1.93703652E-02 8.77593099E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 6.37657771E-02 3.06275884E-02 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 54 6.24209018E-13 2.54079326E-13 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 20 7.40560391E-13 7.62490347E-14 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 8.45751537E-03 4.71710336E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 7.34641445E-02 3.01997473E-02 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 54 5.27272670E-13 2.47678023E-13 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 20 9.87612769E-13 9.90104942E-14 + cg2d: Sum(rhs),rhsMax = 2.19484415956359E+01 1.48455046214404E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.14828766176104E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 24 +(PID.TID 0000.0001) cg2d_last_res = 8.92211288280650E-13 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 6 (PID.TID 0000.0001) %MON time_secondsf = 2.1600000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 7.1212593431086E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.0936103047737E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -4.8330590486811E-01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 4.6743503714581E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.4411793564072E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.6621195269000E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.4611349038993E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 5.3162338299801E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 3.0385932401881E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2836058877597E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.1839061870217E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.9290406996579E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.9613600856305E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 3.4077806986671E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.1196303094060E-03 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.7781247315979E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -3.7213874725186E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.3693209863663E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 8.5919861550202E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 5.8312185200653E-06 -(PID.TID 0000.0001) %MON dynstat_theta_max = 5.9788382310011E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8156017784475E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1869159123750E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.9792407715057E-01 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.2840597154641E-02 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939861471434E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2479845193169E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4811933241735E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1588534128899E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.5046830383780E-03 -(PID.TID 0000.0001) %MON forcing_qnet_max = 3.0410400811467E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = 1.8582715939828E+00 -(PID.TID 0000.0001) %MON forcing_qnet_mean = 8.4180758569380E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0023219367562E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.0818095908861E+01 -(PID.TID 0000.0001) %MON forcing_qsw_max = -1.6956543538007E-01 +(PID.TID 0000.0001) %MON dynstat_eta_max = -1.3120560571334E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.1933523673847E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.8420909742998E+00 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.8929591824684E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.6296582871825E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 3.3738515881947E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.9748035564132E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 4.5074276190540E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.7106847754799E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.7743642484222E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.9645685821118E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.5461852996187E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.3661782827999E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.1122682510238E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.6308071829577E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.8421177360644E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -4.7264277143242E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.1186444465359E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.1911233170829E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 7.4269343104168E-06 +(PID.TID 0000.0001) %MON dynstat_theta_max = 5.9818962938881E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8205379852477E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1839018638608E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 8.0585004655751E-01 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.3553724148593E-02 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4939860088659E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.2479689977476E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4810612912997E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1918988001170E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.7057775290448E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 3.0385064422915E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = 1.7713312480524E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 8.4004980533332E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0058601532367E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.0834865647876E+01 +(PID.TID 0000.0001) %MON forcing_qsw_max = -7.7706733738003E-02 (PID.TID 0000.0001) %MON forcing_qsw_min = -4.2949888857857E+01 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -2.3733651860449E+01 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.5583049035435E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 2.4473286773395E+00 -(PID.TID 0000.0001) %MON forcing_empmr_max = 5.5240329372616E-04 -(PID.TID 0000.0001) %MON forcing_empmr_min = -1.2369944935861E-04 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.2343385922478E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.2448203027213E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 6.1613981261979E-05 -(PID.TID 0000.0001) %MON forcing_fu_max = 4.3167382883398E-02 -(PID.TID 0000.0001) %MON forcing_fu_min = 4.1235032177149E-03 -(PID.TID 0000.0001) %MON forcing_fu_mean = 2.0245251251237E-02 -(PID.TID 0000.0001) %MON forcing_fu_sd = 1.0036739121897E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.9048814751216E-03 -(PID.TID 0000.0001) %MON forcing_fv_max = 6.0404035107220E-04 -(PID.TID 0000.0001) %MON forcing_fv_min = -3.3015379489644E-02 -(PID.TID 0000.0001) %MON forcing_fv_mean = -6.6009467483161E-03 -(PID.TID 0000.0001) %MON forcing_fv_sd = 9.3957964796885E-03 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.0955711816744E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.3430130305985E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 3.2130785582224E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.8717818590955E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.3427925410528E-03 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.1226903638182E-03 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.4421949642372E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.8717818590955E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 1.2994543198713E-03 -(PID.TID 0000.0001) %MON ke_max = 1.5002429629052E-02 -(PID.TID 0000.0001) %MON ke_mean = 1.9780068447569E-03 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -2.3731540066341E+01 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.5540845346767E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 2.4506831567609E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 5.5023262228226E-04 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.1888502540088E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.2764511053834E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.2564817184868E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 6.1205046293840E-05 +(PID.TID 0000.0001) %MON forcing_fu_max = 4.0153688971785E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = -3.5083219838740E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 1.9293499252165E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 1.0538589607531E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 4.0112267988660E-03 +(PID.TID 0000.0001) %MON forcing_fv_max = 3.0990566901946E-03 +(PID.TID 0000.0001) %MON forcing_fv_min = -3.1859304117821E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = -5.2105743873591E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 9.0568219654649E-03 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.0391733979635E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 9.0755411711461E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.7756212406848E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2494829411638E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 9.0750804168414E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.5029321240618E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.4939983090358E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.2494829411638E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 9.8566612621116E-03 +(PID.TID 0000.0001) %MON ke_max = 4.5894207201981E-02 +(PID.TID 0000.0001) %MON ke_mean = 2.1244682786063E-03 (PID.TID 0000.0001) %MON ke_vol = 2.0812333426156E+15 -(PID.TID 0000.0001) %MON vort_r_min = -7.9054658916408E-07 -(PID.TID 0000.0001) %MON vort_r_max = 1.6170111893525E-06 -(PID.TID 0000.0001) %MON vort_a_mean = 1.1459567532511E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 5.3736988256593E-06 -(PID.TID 0000.0001) %MON vort_p_mean = 1.7066211100911E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 1.1050497757968E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -6.7138939515725E-05 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.1884143581464E-03 +(PID.TID 0000.0001) %MON vort_r_min = -2.6123892455872E-06 +(PID.TID 0000.0001) %MON vort_r_max = 9.6361274222290E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.1459501047117E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 5.3593590245394E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7066112087247E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1054273887300E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 5.9061440231251E-05 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -3.9513417851982E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= -(PID.TID 0000.0001) %MON obc_E_uVel_max = 1.1544605725526E-01 -(PID.TID 0000.0001) %MON obc_E_uVel_min = 6.1235052917666E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_mean = 9.9145511288540E-02 -(PID.TID 0000.0001) %MON obc_E_uVel_sd = 7.5608016355461E-03 -(PID.TID 0000.0001) %MON obc_E_uVel_Int = 2.0472455376487E+08 -(PID.TID 0000.0001) %MON obc_W_uVel_max = 6.4835873083912E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_min = 1.9754965312409E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_mean = 4.7569644971446E-02 -(PID.TID 0000.0001) %MON obc_W_uVel_sd = 7.9647478864607E-03 -(PID.TID 0000.0001) %MON obc_W_uVel_Int = 5.5010833104320E+06 -(PID.TID 0000.0001) %MON obc_N_vVel_max = -2.5503757827486E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_min = -7.9713394040661E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = -4.0653341599696E-02 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 9.5287881360103E-03 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = -5.3341254977005E+06 -(PID.TID 0000.0001) %MON obc_S_vVel_max = 5.3330623192699E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_min = -8.5887193855866E-03 -(PID.TID 0000.0001) %MON obc_S_vVel_mean = 4.7347404961916E-02 -(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.1588695524287E-03 -(PID.TID 0000.0001) %MON obc_S_vVel_Int = 4.1181917096993E+07 +(PID.TID 0000.0001) %MON obc_E_uVel_max = 6.5196190960705E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_min = 1.3272080570459E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_mean = 4.9555811787292E-02 +(PID.TID 0000.0001) %MON obc_E_uVel_sd = 7.1840489387000E-03 +(PID.TID 0000.0001) %MON obc_E_uVel_Int = 1.0232728968520E+08 +(PID.TID 0000.0001) %MON obc_W_uVel_max = 2.7956004115006E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_min = -1.7302378220299E-02 +(PID.TID 0000.0001) %MON obc_W_uVel_mean = 9.3155937651761E-03 +(PID.TID 0000.0001) %MON obc_W_uVel_sd = 7.6776894306928E-03 +(PID.TID 0000.0001) %MON obc_W_uVel_Int = 1.0772806359840E+06 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 4.5229963958263E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_min = -2.0345803350210E-03 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 3.1183365777197E-02 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 8.5601217363373E-03 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 4.0915698427485E+06 +(PID.TID 0000.0001) %MON obc_S_vVel_max = -3.9277356392193E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_min = -1.0009105950077E-01 +(PID.TID 0000.0001) %MON obc_S_vVel_mean = -4.5568899209964E-02 +(PID.TID 0000.0001) %MON obc_S_vVel_sd = 5.2679812136830E-03 +(PID.TID 0000.0001) %MON obc_S_vVel_Int = -3.9635004937978E+07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= @@ -4364,194 +4536,194 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 6 (PID.TID 0000.0001) %MON seaice_time_sec = 2.1600000000000E+04 -(PID.TID 0000.0001) %MON seaice_uice_max = 2.0438125376331E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -6.7570216953754E-02 -(PID.TID 0000.0001) %MON seaice_uice_mean = 8.9901111522642E-02 -(PID.TID 0000.0001) %MON seaice_uice_sd = 6.2230646814619E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.8679672105782E-02 -(PID.TID 0000.0001) %MON seaice_vice_max = 6.1026579123892E-02 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.1594454944134E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = -1.9831004107144E-02 -(PID.TID 0000.0001) %MON seaice_vice_sd = 4.1483369701242E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 7.4432364939261E-03 -(PID.TID 0000.0001) %MON seaice_area_max = 9.9289001070682E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 3.3275590255396E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -8.9661617671647E-02 +(PID.TID 0000.0001) %MON seaice_uice_mean = 1.0664962184236E-01 +(PID.TID 0000.0001) %MON seaice_uice_sd = 9.2782786947148E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.1364459157988E-02 +(PID.TID 0000.0001) %MON seaice_vice_max = 5.3198340515251E-03 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.5077576558336E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = -6.8891889725666E-02 +(PID.TID 0000.0001) %MON seaice_vice_sd = 3.5073447537980E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 7.1538210924970E-03 +(PID.TID 0000.0001) %MON seaice_area_max = 9.9642323174639E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 3.3524786367403E-01 -(PID.TID 0000.0001) %MON seaice_area_sd = 4.1284131750960E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 7.0400727264707E-02 -(PID.TID 0000.0001) %MON seaice_heff_max = 4.7232452811409E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 3.3523280937453E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.1134660070079E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 7.0501352312094E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 4.6612235815543E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 7.8925796537001E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 1.1864728474041E-01 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 1.3877344709751E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 8.1878538175231E-02 +(PID.TID 0000.0001) %MON seaice_heff_mean = 7.8910577244479E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.1818000986232E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 1.3885058022792E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 8.1517796949893E-02 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.7392895484587E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.4953867697722E-02 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 4.2737671482264E-03 -(PID.TID 0000.0001) %MON seaice_hsalt_max = 9.9150909510095E+01 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.7386287136893E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.4904106335176E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 4.2947679483624E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 9.8940608816755E+01 (PID.TID 0000.0001) %MON seaice_hsalt_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_mean = 8.9180098613663E+00 -(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.9593472798852E+01 -(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 9.4190704854570E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 9.0099426918218E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.9628773762053E+01 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 9.4126196905088E+00 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %CHECKPOINT 6 ckptA (PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 0.77688201330602169 -(PID.TID 0000.0001) System time: 1.89970007631927729E-002 -(PID.TID 0000.0001) Wall clock time: 0.81275796890258789 +(PID.TID 0000.0001) User time: 0.61527001857757568 +(PID.TID 0000.0001) System time: 3.2610001508146524E-002 +(PID.TID 0000.0001) Wall clock time: 0.64882087707519531 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 0.10498399846255779 -(PID.TID 0000.0001) System time: 6.99900020845234394E-003 -(PID.TID 0000.0001) Wall clock time: 0.12275481224060059 +(PID.TID 0000.0001) User time: 8.3104997873306274E-002 +(PID.TID 0000.0001) System time: 2.0277000032365322E-002 +(PID.TID 0000.0001) Wall clock time: 0.10405397415161133 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "THE_MAIN_LOOP [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 0.67189801484346390 -(PID.TID 0000.0001) System time: 1.19980005547404289E-002 -(PID.TID 0000.0001) Wall clock time: 0.68996000289916992 +(PID.TID 0000.0001) User time: 0.53214501589536667 +(PID.TID 0000.0001) System time: 1.2281000614166260E-002 +(PID.TID 0000.0001) Wall clock time: 0.54470920562744141 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 2.59960070252418518E-002 -(PID.TID 0000.0001) System time: 5.99899981170892715E-003 -(PID.TID 0000.0001) Wall clock time: 3.62110137939453125E-002 +(PID.TID 0000.0001) User time: 2.0643003284931183E-002 +(PID.TID 0000.0001) System time: 4.1880011558532715E-003 +(PID.TID 0000.0001) Wall clock time: 2.4868011474609375E-002 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 0.64590200781822205 -(PID.TID 0000.0001) System time: 5.99900074303150177E-003 -(PID.TID 0000.0001) Wall clock time: 0.65371990203857422 +(PID.TID 0000.0001) User time: 0.51147501915693283 +(PID.TID 0000.0001) System time: 8.0880019813776016E-003 +(PID.TID 0000.0001) Wall clock time: 0.51981115341186523 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 0.64590200781822205 -(PID.TID 0000.0001) System time: 5.99900074303150177E-003 -(PID.TID 0000.0001) Wall clock time: 0.65366578102111816 +(PID.TID 0000.0001) User time: 0.51141501218080521 +(PID.TID 0000.0001) System time: 8.0860015004873276E-003 +(PID.TID 0000.0001) Wall clock time: 0.51975107192993164 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": -(PID.TID 0000.0001) User time: 0.64590200781822205 -(PID.TID 0000.0001) System time: 5.99900074303150177E-003 -(PID.TID 0000.0001) Wall clock time: 0.65357708930969238 +(PID.TID 0000.0001) User time: 0.51131099462509155 +(PID.TID 0000.0001) System time: 8.0840010195970535E-003 +(PID.TID 0000.0001) Wall clock time: 0.51964306831359863 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 9.99900698661804199E-003 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 9.40918922424316406E-003 +(PID.TID 0000.0001) User time: 8.6730346083641052E-003 +(PID.TID 0000.0001) System time: 1.9986182451248169E-006 +(PID.TID 0000.0001) Wall clock time: 8.6770057678222656E-003 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "EXF_GETFORCING [LOAD_FLDS_DRIVER]": -(PID.TID 0000.0001) User time: 9.99900698661804199E-003 +(PID.TID 0000.0001) User time: 8.4500163793563843E-003 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 9.22513008117675781E-003 +(PID.TID 0000.0001) Wall clock time: 8.4578990936279297E-003 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": -(PID.TID 0000.0001) User time: 0.0000000000000000 +(PID.TID 0000.0001) User time: 5.5000185966491699E-005 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 4.79221343994140625E-005 +(PID.TID 0000.0001) Wall clock time: 5.5789947509765625E-005 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.0000000000000000 +(PID.TID 0000.0001) User time: 5.1990151405334473E-005 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 4.69684600830078125E-005 +(PID.TID 0000.0001) Wall clock time: 5.3882598876953125E-005 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.25996007025241852 -(PID.TID 0000.0001) System time: 2.00000032782554626E-003 -(PID.TID 0000.0001) Wall clock time: 0.26197600364685059 +(PID.TID 0000.0001) User time: 0.20882501453161240 +(PID.TID 0000.0001) System time: 7.9890005290508270E-003 +(PID.TID 0000.0001) Wall clock time: 0.21698904037475586 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "SEAICE_MODEL [DO_OCEANIC_PHYS]": -(PID.TID 0000.0001) User time: 4.69939559698104858E-002 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 4.67762947082519531E-002 +(PID.TID 0000.0001) User time: 4.6614997088909149E-002 +(PID.TID 0000.0001) System time: 8.3199888467788696E-004 +(PID.TID 0000.0001) Wall clock time: 4.7496318817138672E-002 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "SEAICE_DYNSOLVER [SEAICE_MODEL]": -(PID.TID 0000.0001) User time: 3.59950065612792969E-002 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 3.62355709075927734E-002 +(PID.TID 0000.0001) User time: 3.7359014153480530E-002 +(PID.TID 0000.0001) System time: 7.6400116086006165E-004 +(PID.TID 0000.0001) Wall clock time: 3.8177728652954102E-002 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "KPP_CALC [DO_OCEANIC_PHYS]": -(PID.TID 0000.0001) User time: 0.14197792112827301 -(PID.TID 0000.0001) System time: 1.00000016391277313E-003 -(PID.TID 0000.0001) Wall clock time: 0.14411187171936035 +(PID.TID 0000.0001) User time: 0.10158795118331909 +(PID.TID 0000.0001) System time: 4.0820017457008362E-003 +(PID.TID 0000.0001) Wall clock time: 0.10571241378784180 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.11798195540904999 +(PID.TID 0000.0001) User time: 8.7915971875190735E-002 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 0.11842465400695801 +(PID.TID 0000.0001) Wall clock time: 8.7933063507080078E-002 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 8.99900496006011963E-003 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 8.10742378234863281E-003 +(PID.TID 0000.0001) User time: 6.5659433603286743E-003 +(PID.TID 0000.0001) System time: 6.4998865127563477E-005 +(PID.TID 0000.0001) Wall clock time: 6.6370964050292969E-003 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.99896705150604248E-003 +(PID.TID 0000.0001) User time: 5.1719844341278076E-003 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 5.98526000976562500E-003 +(PID.TID 0000.0001) Wall clock time: 5.1748752593994141E-003 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 3.99996340274810791E-003 +(PID.TID 0000.0001) User time: 1.9950121641159058E-003 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 2.65812873840332031E-003 +(PID.TID 0000.0001) Wall clock time: 1.9969940185546875E-003 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 7.99815356731414795E-003 +(PID.TID 0000.0001) User time: 6.4259767532348633E-003 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 8.26001167297363281E-003 +(PID.TID 0000.0001) Wall clock time: 6.4361095428466797E-003 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.19696998596191406 +(PID.TID 0000.0001) User time: 0.14910599589347839 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 0.20016121864318848 +(PID.TID 0000.0001) Wall clock time: 0.14914989471435547 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.0000000000000000 +(PID.TID 0000.0001) User time: 4.5999884605407715E-005 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 4.57763671875000000E-005 +(PID.TID 0000.0001) Wall clock time: 4.6968460083007812E-005 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "DO_STATEVARS_TAVE [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 9.99888777732849121E-003 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 8.92710685729980469E-003 +(PID.TID 0000.0001) User time: 8.0839693546295166E-003 +(PID.TID 0000.0001) System time: 2.3998320102691650E-005 +(PID.TID 0000.0001) Wall clock time: 8.1360340118408203E-003 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.59980952739715576E-002 -(PID.TID 0000.0001) System time: 9.98999923467636108E-004 -(PID.TID 0000.0001) Wall clock time: 1.78780555725097656E-002 +(PID.TID 0000.0001) User time: 1.6594007611274719E-002 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.6618728637695312E-002 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 7.99793004989624023E-003 -(PID.TID 0000.0001) System time: 1.00000016391277313E-003 -(PID.TID 0000.0001) Wall clock time: 9.08112525939941406E-003 +(PID.TID 0000.0001) User time: 9.1630369424819946E-003 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 9.1786384582519531E-003 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 9.99987125396728516E-004 -(PID.TID 0000.0001) System time: 1.00000016391277313E-003 -(PID.TID 0000.0001) Wall clock time: 1.86109542846679688E-003 +(PID.TID 0000.0001) User time: 1.7670392990112305E-003 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.7669200897216797E-003 (PID.TID 0000.0001) No. starts: 5 (PID.TID 0000.0001) No. stops: 5 (PID.TID 0000.0001) // ====================================================== @@ -4580,9 +4752,9 @@ (PID.TID 0000.0001) // Total. Y spins = 0 (PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 (PID.TID 0000.0001) // o Thread number: 000001 -(PID.TID 0000.0001) // No. barriers = 6236 +(PID.TID 0000.0001) // No. barriers = 6380 (PID.TID 0000.0001) // Max. barrier spins = 1 (PID.TID 0000.0001) // Min. barrier spins = 1 -(PID.TID 0000.0001) // Total barrier spins = 6236 +(PID.TID 0000.0001) // Total barrier spins = 6380 (PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 PROGRAM MAIN: Execution ended Normally From cc1da65673bf89a88f2d00cc3b4b2f75b4712414 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Mon, 21 Aug 2023 15:48:48 -0400 Subject: [PATCH 04/15] Only read-in from files tidal-comp that are used Allow to provide tidal Ampl & Phase bin files with just the number of tidal-comp that are used (instead of the full tidal-comp size "OBCS_tideCompSize") by calling directly pkg/msdio section-read S/R. --- pkg/obcs/obcs_init_fixed.F | 104 ++++++++++++++++++++++--------------- 1 file changed, 63 insertions(+), 41 deletions(-) diff --git a/pkg/obcs/obcs_init_fixed.F b/pkg/obcs/obcs_init_fixed.F index 71bed36942..f35b3ee255 100644 --- a/pkg/obcs/obcs_init_fixed.F +++ b/pkg/obcs/obcs_init_fixed.F @@ -49,7 +49,9 @@ SUBROUTINE OBCS_INIT_FIXED( myThid ) LOGICAL flag INTEGER ioUnit #ifdef ALLOW_OBCS_TIDES + LOGICAL inCurrentDir INTEGER k, fp + _RS dummyRS(1) _RL recipPeriod, locPh #endif @@ -452,63 +454,83 @@ SUBROUTINE OBCS_INIT_FIXED( myThid ) IF ( useOBCStides ) THEN C-- Read from files Barotropic Tidal Amplitude and Phase: fp = readBinaryPrec - -# ifdef ALLOW_OBCS_NORTH + inCurrentDir = .FALSE. +# ifdef ALLOW_MDSIO +# ifdef ALLOW_OBCS_NORTH IF ( OBN_uTidAmFile .NE. ' ' ) - & CALL READ_REC_XZ_RL( OBN_uTidAmFile, fp, OBCS_tideCompSize, - & OBN_uTideCs, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_XZ( OBN_uTidAmFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBN_uTideCs, dummyRS, 1, myThid ) IF ( OBN_uTidPhFile .NE. ' ' ) - & CALL READ_REC_XZ_RL( OBN_uTidPhFile, fp, OBCS_tideCompSize, - & OBN_uTideSn, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_XZ( OBN_uTidPhFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBN_uTideSn, dummyRS, 1, myThid ) IF ( OBN_vTidAmFile .NE. ' ' ) - & CALL READ_REC_XZ_RL( OBN_vTidAmFile, fp, OBCS_tideCompSize, - & OBN_vTideCs, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_XZ( OBN_vTidAmFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBN_vTideCs, dummyRS, 1, myThid ) IF ( OBN_vTidPhFile .NE. ' ' ) - & CALL READ_REC_XZ_RL( OBN_vTidPhFile, fp, OBCS_tideCompSize, - & OBN_vTideSn, 1, nIter0, myThid ) -# endif -# ifdef ALLOW_OBCS_SOUTH + & CALL MDS_READ_SEC_XZ( OBN_vTidPhFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBN_vTideSn, dummyRS, 1, myThid ) +# endif +# ifdef ALLOW_OBCS_SOUTH IF ( OBS_uTidAmFile .NE. ' ' ) - & CALL READ_REC_XZ_RL( OBS_uTidAmFile, fp, OBCS_tideCompSize, - & OBS_uTideCs, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_XZ( OBS_uTidAmFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBS_uTideCs, dummyRS, 1, myThid ) IF ( OBS_uTidPhFile .NE. ' ' ) - & CALL READ_REC_XZ_RL( OBS_uTidPhFile, fp, OBCS_tideCompSize, - & OBS_uTideSn, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_XZ( OBS_uTidPhFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBS_uTideSn, dummyRS, 1, myThid ) IF ( OBS_vTidAmFile .NE. ' ' ) - & CALL READ_REC_XZ_RL( OBS_vTidAmFile, fp, OBCS_tideCompSize, - & OBS_vTideCs, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_XZ( OBS_vTidAmFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBS_vTideCs, dummyRS, 1, myThid ) IF ( OBS_vTidPhFile .NE. ' ' ) - & CALL READ_REC_XZ_RL( OBS_vTidPhFile, fp, OBCS_tideCompSize, - & OBS_vTideSn, 1, nIter0, myThid ) -# endif -# ifdef ALLOW_OBCS_EAST + & CALL MDS_READ_SEC_XZ( OBS_vTidPhFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBS_vTideSn, dummyRS, 1, myThid ) +# endif +# ifdef ALLOW_OBCS_EAST IF ( OBE_uTidAmFile .NE. ' ' ) - & CALL READ_REC_YZ_RL( OBE_uTidAmFile, fp, OBCS_tideCompSize, - & OBE_uTideCs, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_YZ( OBE_uTidAmFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBE_uTideCs, dummyRS, 1, myThid ) IF ( OBE_uTidPhFile .NE. ' ' ) - & CALL READ_REC_YZ_RL( OBE_uTidPhFile, fp, OBCS_tideCompSize, - & OBE_uTideSn, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_YZ( OBE_uTidPhFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBE_uTideSn, dummyRS, 1, myThid ) IF ( OBE_vTidAmFile .NE. ' ' ) - & CALL READ_REC_YZ_RL( OBE_vTidAmFile, fp, OBCS_tideCompSize, - & OBE_vTideCs, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_YZ( OBE_vTidAmFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBE_vTideCs, dummyRS, 1, myThid ) IF ( OBE_vTidPhFile .NE. ' ' ) - & CALL READ_REC_YZ_RL( OBE_vTidPhFile, fp, OBCS_tideCompSize, - & OBE_vTideSn, 1, nIter0, myThid ) -# endif -# ifdef ALLOW_OBCS_WEST + & CALL MDS_READ_SEC_YZ( OBE_vTidPhFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBE_vTideSn, dummyRS, 1, myThid ) +# endif +# ifdef ALLOW_OBCS_WEST IF ( OBW_uTidAmFile .NE. ' ' ) - & CALL READ_REC_YZ_RL( OBW_uTidAmFile, fp, OBCS_tideCompSize, - & OBW_uTideCs, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_YZ( OBW_uTidAmFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBW_uTideCs, dummyRS, 1, myThid ) IF ( OBW_uTidPhFile .NE. ' ' ) - & CALL READ_REC_YZ_RL( OBW_uTidPhFile, fp, OBCS_tideCompSize, - & OBW_uTideSn, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_YZ( OBW_uTidPhFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBW_uTideSn, dummyRS, 1, myThid ) IF ( OBW_vTidAmFile .NE. ' ' ) - & CALL READ_REC_YZ_RL( OBW_vTidAmFile, fp, OBCS_tideCompSize, - & OBW_vTideCs, 1, nIter0, myThid ) + & CALL MDS_READ_SEC_YZ( OBW_vTidAmFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBW_vTideCs, dummyRS, 1, myThid ) IF ( OBW_vTidPhFile .NE. ' ' ) - & CALL READ_REC_YZ_RL( OBW_vTidPhFile, fp, OBCS_tideCompSize, - & OBW_vTideSn, 1, nIter0, myThid ) -# endif + & CALL MDS_READ_SEC_YZ( OBW_vTidPhFile, fp, inCurrentDir, 'RL', + & OBCS_tideCompSize, 1, OBCS_nTidalComp, + & OBW_vTideSn, dummyRS, 1, myThid ) +# endif +# else /* ALLOW_MDSIO */ + STOP 'ABNORMAL END: S/R OBCS_INIT_FIXED needs pkg/mdsio' +# endif /* ALLOW_MDSIO */ _BARRIER C-- Set Tidal coeff (= Amplit x COS & SIN of Phase ) from Amplitude and Phase: From a0f4de8711e53d9f2757be4a22bdd09afcf48a2a Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Mon, 21 Aug 2023 16:32:10 -0400 Subject: [PATCH 05/15] Use smaller tidal input files (only 4 components) --- verification/seaice_obcs/input.tides/data.obcs | 6 ++++-- verification/seaice_obcs/input.tides/mk_tides.m | 15 +++++++-------- .../input.tides/tidalComp.OBEamNvel.bin | Bin 320 -> 128 bytes .../input.tides/tidalComp.OBEamTvel.bin | Bin 320 -> 128 bytes .../input.tides/tidalComp.OBEphNvel.bin | Bin 320 -> 128 bytes .../input.tides/tidalComp.OBEphTvel.bin | Bin 320 -> 128 bytes .../input.tides/tidalComp.OBNamNvel.bin | Bin 400 -> 160 bytes .../input.tides/tidalComp.OBNphNvel.bin | Bin 400 -> 160 bytes .../input.tides/tidalComp.OBSamNvel.bin | Bin 400 -> 160 bytes .../input.tides/tidalComp.OBSamTvel.bin | Bin 400 -> 160 bytes .../input.tides/tidalComp.OBSphNvel.bin | Bin 400 -> 160 bytes .../input.tides/tidalComp.OBSphTvel.bin | Bin 400 -> 160 bytes .../input.tides/tidalComp.OBWamNvel.bin | Bin 320 -> 128 bytes .../input.tides/tidalComp.OBWphNvel.bin | Bin 320 -> 128 bytes 14 files changed, 11 insertions(+), 10 deletions(-) diff --git a/verification/seaice_obcs/input.tides/data.obcs b/verification/seaice_obcs/input.tides/data.obcs index 44e1e607b2..b4195695dd 100644 --- a/verification/seaice_obcs/input.tides/data.obcs +++ b/verification/seaice_obcs/input.tides/data.obcs @@ -56,8 +56,10 @@ #- Component/Period (hr): # M2: 12.4206 S2: 12 N2: 12.6583 K2: 11.9672 K1: 23.9345 # O1: 25.8193 P1: 24.0659 Q1: 26.8684 Mf:327.8599 Mm: 661.31 - OBCS_tidalPeriod= 44714.16, 43200., 45569.88, 43081.92, 86164.2, - 92949.48, 86637.24, 96726.24, 1180295.64, 2380716., +#OBCS_tidalPeriod= 44714.16, 43200., 45569.88, 43081.92, 86164.2, +# 92949.48, 86637.24, 96726.24, 1180295.64, 2380716., +#-- only use 4 tidal-components (but vector length is 10 = OBCS_tideCompSize) + OBCS_tidalPeriod= 44714.16, 43200., 45569.88, 43081.92, 6*0., # OBS_vTidAmFile ='tidalComp.OBSamNvel.bin', OBS_vTidPhFile ='tidalComp.OBSphNvel.bin', diff --git a/verification/seaice_obcs/input.tides/mk_tides.m b/verification/seaice_obcs/input.tides/mk_tides.m index 8d8884eeb2..8cf9eeef0d 100644 --- a/verification/seaice_obcs/input.tides/mk_tides.m +++ b/verification/seaice_obcs/input.tides/mk_tides.m @@ -1,10 +1,10 @@ % Generate example of OB input files for tidal-component velocity field % Tidal-component OB input files are real*4 IEEE big-endian binary -% with dimenstion OBlength * tidalComponents, -% where OBlength is the length of the open boundary -% and tidalComponents is the number of tidal components -% specified in OBCS_PARAMS.h. +% with dimension: OBlength x nTidalComp, +% where OBlength is the length of the open boundary and nTidalComp is the +% number of tidal components to use (i.e., the last non-zero "OBCS_tidalPeriod" +% from "data.obcs"), not larger than "OBCS_tideCompSize" from "OBCS_PARAMS.h". % OB[N,S,E,W][am,ph][N,T]File :: Files with boundary conditions, % the letter combinations mean: @@ -12,7 +12,7 @@ % am/ph :: tidal amplitude (m/s) / phase (s) % N/T :: for the velocity Normal-component / Tangential-component -% Tidal periods are specified using variable tidalPeriod in data.obcs +% Tidal periods are specified using variable "OBCS_tidalPeriod" in "data.obcs" % Tidal amplitude is the maximum tidal velocity in m/s. % Tidal phase indicates time in s of maximum positive tide relative to model Time=0. @@ -20,7 +20,7 @@ % create tidal input files nx=10; ny=8; -tidalComponents=10; +nTidalComp=4; for ob={'N','S','E','W'} OBlength=ny; if any(strcmp(ob,{'N','S'})) @@ -29,8 +29,7 @@ for fld={'am','ph'} fnm1=['tidalComp.OB' ob{1} fld{1} 'Nvel.bin']; fnm2=['tidalComp.OB' ob{1} fld{1} 'Tvel.bin']; - var1=zeros(OBlength,tidalComponents); var2=var1; - %var1=randn(OBlength,tidalComponents)/1000; + var1=zeros(OBlength,nTidalComp); var2=var1; % specify (0.03 m/s, 6 hr) for North boundary tidal component 3 if strcmp(ob,'N') diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBEamNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBEamNvel.bin index f201929e27cbeae4bc5e2b45db481f694bf7f2fd..f967bdc423d50f26810318439d3663287f5d0b45 100644 GIT binary patch delta 6 NcmX@W)WA5Q0RRXy0#pD1 delta 18 ScmZo*Jis)eVPb#*90348-v*cf diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBEamTvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBEamTvel.bin index 5aafaf6cfff88c34843765726e2633905287409f..94cd7dbb60876197d505c1b891fd62dfe2f76c5f 100644 GIT binary patch delta 6 NcmX@W)WA5Q0RRXy0#pD1 delta 18 ScmZo*Jis)eVPb#*90348-v*cf diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBEphNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBEphNvel.bin index 314fc6e6d2bdfe7ee555507e0f3aef84fc547213..fc8920495c88d4759cf73da823eed5451121dd86 100644 GIT binary patch delta 6 NcmX@W)WA5Q0RRXy0#pD1 delta 18 ScmZo*Jis)eVPb#*90348-v*cf diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBEphTvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBEphTvel.bin index 28df9578b98309b18889824dcab2f4cecfedff4c..372b600d799615d5869eb9e39a3469ab790bbd5f 100644 GIT binary patch delta 6 NcmX@W)WA5Q0RRXy0#pD1 delta 18 ScmZo*Jis)eVPb#*90348-v*cf diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBNamNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBNamNvel.bin index b2c4ad6c55c59f6e530550b86e65edf02b8afcd5..da06286b013f474198763aa10a05ca05ad073bb1 100644 GIT binary patch delta 6 NcmbQhynu1S0ssfN0%ZUI delta 18 TcmZ3$IDvV>f{6kSFk}D#Je~#F diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBNphNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBNphNvel.bin index 2659bc8766ca61b556d0ec419a825d298e354702..2557f7a28493a2273f8e8b5c00e95e76f244f1e4 100644 GIT binary patch delta 6 NcmbQhynu1S0ssfN0%ZUI delta 18 TcmZ3$IDvV>f{6kSFk}D#Je~#F diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBSamNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBSamNvel.bin index 43301ca5fd00ec2c48190037e21ac8f595957213..89cce2344aa09fb7f1b98bf4cbf5e9af6024a48f 100644 GIT binary patch delta 6 NcmbQhynu1S0ssfN0%ZUI literal 400 TcmcCLbLOlq5tv~V&?N)_9YY#b diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBSamTvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBSamTvel.bin index 13254f91bd5375d250d05a7f8989f1978cd4fdf1..43a35d0b5212bf06717f76716594bc8c4cd5adfe 100644 GIT binary patch delta 6 NcmbQhynu1S0ssfN0%ZUI literal 400 TcmcD0=)TUD2+S}F=n?_|)EpGQ diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBSphNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBSphNvel.bin index a83f71f36e8f89f203c04f43269f34595b41e84e..2b13375bafea7fc11ccddad7091273cf98ef3b6f 100644 GIT binary patch delta 6 NcmbQhynu1S0ssfN0%ZUI literal 400 TcmZ>L$iU!A1ZEfobO`|f9L)=T diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBSphTvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBSphTvel.bin index bbf3fa92c759ecd919e28c546cebce19a4c27be4..2455385958c042ba51a982c2547214bb35b9a4a1 100644 GIT binary patch delta 6 NcmbQhynu1S0ssfN0%ZUI literal 400 TcmZ?MIKbdW1ZEfobO`|fjAskY diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBWamNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBWamNvel.bin index a51ba866d39d02fb73ed9c27e3f31f4f8c6696fc..76d0b42e492eb4612110596b372ee5a56af892bd 100644 GIT binary patch delta 6 NcmX@W)WA5Q0RRXy0#pD1 literal 320 WcmZQzpe?Xje4Ps)rmgL?Hyr?KZ4Lnd diff --git a/verification/seaice_obcs/input.tides/tidalComp.OBWphNvel.bin b/verification/seaice_obcs/input.tides/tidalComp.OBWphNvel.bin index 5262571581a78a10f67de2a4b4519ea457fe3b27..bde20e1f3e61833f5b97cbd425b87e78e72ad627 100644 GIT binary patch delta 6 NcmX@W)WA5Q0RRXy0#pD1 literal 320 WcmZQzpe=BF$iRRP)7Ey{n+^bqkqJ2f From 992d630a709b5e60a4474c6ac8a4fc636e59ebbe Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Mon, 21 Aug 2023 16:56:47 -0400 Subject: [PATCH 06/15] clean up + improve report of params --- pkg/obcs/obcs_add_tides.F | 7 ++----- pkg/obcs/obcs_check.F | 10 ++++++++-- pkg/obcs/obcs_readparms.F | 16 ++++++++++++++-- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/pkg/obcs/obcs_add_tides.F b/pkg/obcs/obcs_add_tides.F index 8874e8f678..918acd0563 100644 --- a/pkg/obcs/obcs_add_tides.F +++ b/pkg/obcs/obcs_add_tides.F @@ -10,10 +10,7 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) C !DESCRIPTION: C *==========================================================* C | SUBROUTINE OBCS_ADD_TIDES -C | o Modify OB normal flow to add tidal forcing -C | NOTE that at the moment tidal forcing is applied -C | only to "normal" flow. Code below should eventually -C | be augmented to also specify flow parallel to boundary. +C | o Add barotropic tidal velocity to OB value C *==========================================================* C !USES: @@ -213,7 +210,7 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) ENDDO ENDDO -C end if (tidalPeriod <> 0) and end td (= tidal comp. index) do-loop +C end if (tidalPeriod <> 0) and end loop on td (= tidal comp. index) ENDIF ENDDO diff --git a/pkg/obcs/obcs_check.F b/pkg/obcs/obcs_check.F index bf6130093e..ee50e07c6c 100644 --- a/pkg/obcs/obcs_check.F +++ b/pkg/obcs/obcs_check.F @@ -131,12 +131,16 @@ SUBROUTINE OBCS_CHECK( myThid ) CALL WRITE_0D_I( OBCS_monSelect, INDEX_NONE, 'OBCS_monSelect =', & ' /* select group of variables to monitor */') CALL WRITE_0D_L( OBCSprintDiags, INDEX_NONE, - & 'OBCSprintDiags =', ' /* print some OBCS diagnostics. */') + & 'OBCSprintDiags =', ' /* print some OBCS diagnostics. */') C CALL WRITE_0D_L( useOBCStides, INDEX_NONE, & 'useOBCStides =', ' /* apply tidal forcing through OB */') - CALL WRITE_1D_RL( OBCS_tidalPeriod, OBCS_tideCompSize, INDEX_I, + IF ( useOBCStides ) THEN + CALL WRITE_0D_I( OBCS_nTidalComp, INDEX_NONE, + & 'OBCS_nTidalComp =', ' /* number of tidal-Comp to use */') + CALL WRITE_1D_RL( OBCS_tidalPeriod, OBCS_tideCompSize, INDEX_K, & 'OBCS_tidalPeriod = ', ' /* (s) */') + ENDIF C CALL WRITE_0D_L( useOrlanskiNorth, INDEX_NONE, & 'useOrlanskiNorth =', ' /* use Orlanski for northern bound. */') @@ -723,6 +727,8 @@ SUBROUTINE OBCS_CHECK( myThid ) _BEGIN_MASTER(myThid) WRITE(msgBuf,'(2A)') 'OBCS_CHECK: ', & 'check Inside Mask and OB locations: OK' + CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid ) + WRITE(msgBuf,'(A)') ' ' CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid ) _END_MASTER(myThid) ENDIF diff --git a/pkg/obcs/obcs_readparms.F b/pkg/obcs/obcs_readparms.F index fb57790a83..398573bb69 100644 --- a/pkg/obcs/obcs_readparms.F +++ b/pkg/obcs/obcs_readparms.F @@ -580,12 +580,24 @@ SUBROUTINE OBCS_READPARMS( myThid ) #ifdef ALLOW_OBCS_TIDES IF ( useOBCStides ) THEN -c OBCS_nTidalComp = 0 +C-- Set OBCS_nTidalComp (= the number of tidal components to use) +C as the last non-zero tidalPeriod: + OBCS_nTidalComp = 0 DO i = 1, OBCS_tideCompSize IF ( OBCS_tidalPeriod(i).NE.zeroRL ) OBCS_nTidalComp = i ENDDO + WRITE(msgBuf,'(2A,I6)') ' Set number of tidal Components ', + & 'in use: OBCS_nTidalComp =', OBCS_nTidalComp + CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, + & SQUEEZE_RIGHT, myThid ) + IF ( OBCS_nTidalComp .EQ. 0 ) THEN + WRITE(msgBuf,'(2A)') 'OBCS_READPARMS: ', + & 'useOBCStides=T without any OBCS_tidalPeriod > 0' + CALL PRINT_ERROR( msgBuf, myThid ) + STOP 'ABNORMAL END: S/R OBCS_READPARMS' + ENDIF ENDIF -#endif +#endif /* ALLOW_OBCS_TIDES */ C- Acount for single/uniform position OB setting: errCount = 0 From df8a0e988c664d3833dc9d3c3efe999daf96a166 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Thu, 28 Mar 2024 18:58:35 -0400 Subject: [PATCH 07/15] Update README And provide some instruction on how to update previous data.obcs to work with this updated code. --- verification/seaice_obcs/README | 8 -------- verification/seaice_obcs/README.md | 20 +++++++++++++++++++ .../input.tides/update_TideFileName.sed | 13 ++++++++++++ 3 files changed, 33 insertions(+), 8 deletions(-) delete mode 100644 verification/seaice_obcs/README create mode 100644 verification/seaice_obcs/README.md create mode 100644 verification/seaice_obcs/input.tides/update_TideFileName.sed diff --git a/verification/seaice_obcs/README b/verification/seaice_obcs/README deleted file mode 100644 index 90ff0be349..0000000000 --- a/verification/seaice_obcs/README +++ /dev/null @@ -1,8 +0,0 @@ -MITgcm/verification/seaice_obcs -is a pkg/seaice + pkg/obcs verification experiment. - -It is carved out from ../lab_sea/input.salt_plume - -Matlab script input/mk_input.m -requires output from ../lab_sea/input.salt_plume -to generate the input files. diff --git a/verification/seaice_obcs/README.md b/verification/seaice_obcs/README.md new file mode 100644 index 0000000000..4ca5008cf2 --- /dev/null +++ b/verification/seaice_obcs/README.md @@ -0,0 +1,20 @@ +Test set-up for seaice pkg with Open-Boundary Conditions +======================================================== + +This verification experiment is used to test `pkg/seaice` with `pkg/obcs` + +This set-up is carved out from `../lab_sea/input.salt_plume/` + +Binary input files in `input/` have been generated using the Matlab script `input/mk_input.m` +together with the set of output files from running test experiment `../lab_sea/input.salt_plume` + +Secondary test `input.seaiceSponge/` use OBCS sponge-layer for seaice fields (`useSeaiceSponge=.TRUE.`) +in addition to prescribed OBCS from the primary test. + +Secondary test `input.tides/` add 4 tidal components to the barotropic velocity at the open-boundaries +(`useOBCStides=.TRUE.`) in addition to prescribed OBCS from the primary test. +The additional tidal component binary input files have been generated using the matlab +script `mk_tides.m` (see comments inside). + +Note: specification of tidal components have been updated in PR #752 + (see `input.tides/update_TideFileName.sed` on how to update `data.obcs`) diff --git a/verification/seaice_obcs/input.tides/update_TideFileName.sed b/verification/seaice_obcs/input.tides/update_TideFileName.sed new file mode 100644 index 0000000000..ba3477ebd7 --- /dev/null +++ b/verification/seaice_obcs/input.tides/update_TideFileName.sed @@ -0,0 +1,13 @@ +#- to update "data.obcs" content following code update from PR #752: +# > mv data.obcs data.obcs.bak +# > sed -f update_TideFileName.sed data.obcs.bak > data.obcs +#- Warning: This is case sensitive while data.obcs namelist are not ! +s/\ *=/OBCS_tidalPeriod=/g +s/OBNamFile/OBN_vTidAmFile/g +s/OBNphFile/OBN_vTidPhFile/g +s/OBSamFile/OBS_vTidAmFile/g +s/OBSphFile/OBS_vTidPhFile/g +s/OBEamFile/OBE_uTidAmFile/g +s/OBEphFile/OBE_uTidPhFile/g +s/OBWamFile/OBW_uTidAmFile/g +s/OBWphFile/OBW_uTidPhFile/g From eb5d7173a6ddb8bc43b78373b83518339421e564 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Fri, 29 Mar 2024 00:40:03 -0400 Subject: [PATCH 08/15] little cleaning --- .../seaice_obcs/input.seaiceSponge/data.obcs | 21 ++++++++-------- .../input.seaiceSponge/prepare_run | 25 ------------------- 2 files changed, 11 insertions(+), 35 deletions(-) delete mode 100755 verification/seaice_obcs/input.seaiceSponge/prepare_run diff --git a/verification/seaice_obcs/input.seaiceSponge/data.obcs b/verification/seaice_obcs/input.seaiceSponge/data.obcs index 5350dbd212..bf63f78ac9 100644 --- a/verification/seaice_obcs/input.seaiceSponge/data.obcs +++ b/verification/seaice_obcs/input.seaiceSponge/data.obcs @@ -9,6 +9,7 @@ # This flag check and equalise topography across open boundaries: OBCSfixTopo = .TRUE., useOBCSprescribe=.TRUE., + useSeaiceSponge=.TRUE., # OBSsFile='OBSs.seaice_obcs', OBStFile='OBSt.seaice_obcs', @@ -51,16 +52,16 @@ OBNviceFile='OBNvice.seaice_obcs', OBEviceFile='OBEvice.seaice_obcs', OBWviceFile='OBWvice.seaice_obcs', - useSeaiceSponge=.TRUE., & + &OBCS_PARM05 - seaiceSpongeThickness = 3 - Arelaxobcsinner = 432000. - Arelaxobcsbound = 43200. - Hrelaxobcsinner = 432000. - Hrelaxobcsbound = 43200. - SLrelaxobcsinner = 432000. - SLrelaxobcsbound = 43200. - SNrelaxobcsinner = 432000. - SNrelaxobcsbound = 43200. + seaiceSpongeThickness = 3, + Arelaxobcsinner = 432000., + Arelaxobcsbound = 43200., + Hrelaxobcsinner = 432000., + Hrelaxobcsbound = 43200., + SLrelaxobcsinner = 432000., + SLrelaxobcsbound = 43200., + SNrelaxobcsinner = 432000., + SNrelaxobcsbound = 43200., & diff --git a/verification/seaice_obcs/input.seaiceSponge/prepare_run b/verification/seaice_obcs/input.seaiceSponge/prepare_run deleted file mode 100755 index 695c89c88a..0000000000 --- a/verification/seaice_obcs/input.seaiceSponge/prepare_run +++ /dev/null @@ -1,25 +0,0 @@ -#! /usr/bin/env bash - -#- in order to save disc space, take files: -fileList="tair.labsea1979 qa.labsea1979 u10m.labsea1979 v10m.labsea1979 prate.labsea1979 flo.labsea1979 fsh.labsea1979 SSS_monthly.labsea1979" - -#- from this dir: -fromDir="../../lab_sea/input" - -#- and do a symbolic link in the current directory -# (if the file does not already exist) -if test -d $fromDir ; then - lnkList='files:' - for xx in $fileList - do - if test -r ${fromDir}/$xx ; then - if test ! -r $xx ; then - lnkList=${lnkList}" "$xx - ln -sf ${fromDir}/$xx . - fi - fi - done - echo ' link' $lnkList "from dir:" $fromDir -else - echo " Error:" $fromDir "not a directory" -fi From bcc7cf49e2107b2040c07d5565223b7ee2696514 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Fri, 29 Mar 2024 00:55:27 -0400 Subject: [PATCH 09/15] Remove OLD_OBCS_TIDES code --- pkg/obcs/OBCS_OPTIONS.h | 3 - pkg/obcs/obcs_add_tides.F | 66 -------------------- pkg/obcs/obcs_init_fixed.F | 2 - verification/seaice_obcs/code/OBCS_OPTIONS.h | 4 +- 4 files changed, 2 insertions(+), 73 deletions(-) diff --git a/pkg/obcs/OBCS_OPTIONS.h b/pkg/obcs/OBCS_OPTIONS.h index bdb9b69eb1..2aa477bc8d 100644 --- a/pkg/obcs/OBCS_OPTIONS.h +++ b/pkg/obcs/OBCS_OPTIONS.h @@ -36,9 +36,6 @@ C balance barotropic velocity C Allow to add barotropic tidal contributions to OB velocity #undef ALLOW_OBCS_TIDES -C Put back old OB-Tides code, slower and only deals with Normal Flow component -C Note: just to be able to recover identical, machine truncation level output -#undef OLD_OBCS_TIDES C Use older implementation of obcs in seaice-dynamics C note: most of the "experimental" options listed below have not yet diff --git a/pkg/obcs/obcs_add_tides.F b/pkg/obcs/obcs_add_tides.F index 918acd0563..2aca4003de 100644 --- a/pkg/obcs/obcs_add_tides.F +++ b/pkg/obcs/obcs_add_tides.F @@ -60,70 +60,6 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) DO bj=myByLo(myThid),myByHi(myThid) DO bi=myBxLo(myThid),myBxHi(myThid) -#ifdef OLD_OBCS_TIDES -#ifdef ALLOW_OBCS_EAST - IF ( tileHasOBE(bi,bj) ) THEN - DO k=1,Nr - DO j=1-OLy,sNy+OLy - iB = OB_Ie(j,bi,bj) - IF ( iB.NE.OB_indexNone ) THEN - OBEu(j,k,bi,bj) = OBEu(j,k,bi,bj) + - & maskW(iB,j,k,bi,bj) * OBE_uTideCs(j,td,bi,bj) * - & COS( 2.D0 * PI * (myTime-OBE_uTideSn(j,td,bi,bj)) / - & OBCS_tidalPeriod(td) ) - ENDIF - ENDDO - ENDDO - ENDIF -#endif /* ALLOW_OBCS_EAST */ -#ifdef ALLOW_OBCS_WEST - IF ( tileHasOBW(bi,bj) ) THEN - DO k=1,Nr - DO j=1-OLy,sNy+OLy - iB = OB_Iw(j,bi,bj) - IF ( iB.NE.OB_indexNone ) THEN - OBWu(j,k,bi,bj) = OBWu(j,k,bi,bj) + - & maskW(1+iB,j,k,bi,bj) * OBW_uTideCs(j,td,bi,bj) * - & COS( 2.D0 * PI * (myTime-OBW_uTideSn(j,td,bi,bj)) / - & OBCS_tidalPeriod(td) ) - ENDIF - ENDDO - ENDDO - ENDIF -#endif /* ALLOW_OBCS_WEST */ -#ifdef ALLOW_OBCS_NORTH - IF ( tileHasOBN(bi,bj) ) THEN - DO k=1,Nr - DO i=1-OLx,sNx+OLx - jB = OB_Jn(i,bi,bj) - IF ( jB.NE.OB_indexNone ) THEN - OBNv(i,k,bi,bj) = OBNv(i,k,bi,bj) + - & maskS(i,jB,k,bi,bj) * OBN_vTideCs(i,td,bi,bj) * - & COS( 2.D0 * PI * (myTime-OBN_vTideSn(i,td,bi,bj)) / - & OBCS_tidalPeriod(td) ) - ENDIF - ENDDO - ENDDO - ENDIF -#endif /* ALLOW_OBCS_NORTH */ -#ifdef ALLOW_OBCS_SOUTH - IF ( tileHasOBS(bi,bj) ) THEN - DO k=1,Nr - DO i=1-OLx,sNx+OLx - jB = OB_Js(i,bi,bj) - IF ( jB.NE.OB_indexNone ) THEN - OBSv(i,k,bi,bj) = OBSv(i,k,bi,bj) + - & maskS(i,1+jB,k,bi,bj)* OBS_vTideCs(i,td,bi,bj) * - & COS( 2.D0 * PI * (myTime-OBS_vTideSn(i,td,bi,bj)) / - & OBCS_tidalPeriod(td) ) - ENDIF - ENDDO - ENDDO - ENDIF -#endif /* ALLOW_OBCS_SOUTH */ - -#else /* OLD_OBCS_TIDES */ - #ifdef ALLOW_OBCS_EAST IF ( tileHasOBE(bi,bj) ) THEN DO j=1-OLy,sNy+OLy @@ -204,8 +140,6 @@ SUBROUTINE OBCS_ADD_TIDES( myTime, myIter, myThid ) ENDIF #endif /* ALLOW_OBCS_SOUTH */ -#endif /* OLD_OBCS_TIDES */ - C end bi,bj loops ENDDO ENDDO diff --git a/pkg/obcs/obcs_init_fixed.F b/pkg/obcs/obcs_init_fixed.F index f35b3ee255..289ffed453 100644 --- a/pkg/obcs/obcs_init_fixed.F +++ b/pkg/obcs/obcs_init_fixed.F @@ -534,7 +534,6 @@ SUBROUTINE OBCS_INIT_FIXED( myThid ) _BARRIER C-- Set Tidal coeff (= Amplit x COS & SIN of Phase ) from Amplitude and Phase: -#ifndef OLD_OBCS_TIDES DO bj = myByLo(myThid), myByHi(myThid) DO bi = myBxLo(myThid), myBxHi(myThid) DO k=1,OBCS_nTidalComp @@ -581,7 +580,6 @@ SUBROUTINE OBCS_INIT_FIXED( myThid ) C- end bi.bj loops: ENDDO ENDDO -#endif /* ndef OLD_OBCS_TIDES */ C- end if useOBCStides ENDIF diff --git a/verification/seaice_obcs/code/OBCS_OPTIONS.h b/verification/seaice_obcs/code/OBCS_OPTIONS.h index c3400c9323..52f4bbdcbe 100644 --- a/verification/seaice_obcs/code/OBCS_OPTIONS.h +++ b/verification/seaice_obcs/code/OBCS_OPTIONS.h @@ -25,7 +25,7 @@ C from a file C Enable OB conditions following Stevens (1990) #undef ALLOW_OBCS_STEVENS -C This includes hooks to sponge layer treatment of uvel, vvel +C Allow sponge layer treatment of open boundary conditions #undef ALLOW_OBCS_SPONGE C Include hooks to sponge layer treatment of pkg/seaice variables @@ -34,7 +34,7 @@ C Include hooks to sponge layer treatment of pkg/seaice variables C balance barotropic velocity #undef ALLOW_OBCS_BALANCE -C add tidal contributions to normal OB flow +C Allow to add barotropic tidal contributions to OB velocity #define ALLOW_OBCS_TIDES C Use older implementation of obcs in seaice-dynamics From 4ee536b1f7114413f6e44cb76b2d2b5fa3d25840 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Fri, 29 Mar 2024 10:01:09 -0400 Subject: [PATCH 10/15] minor improvement to README --- verification/seaice_obcs/README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/verification/seaice_obcs/README.md b/verification/seaice_obcs/README.md index 4ca5008cf2..fb817037e7 100644 --- a/verification/seaice_obcs/README.md +++ b/verification/seaice_obcs/README.md @@ -5,16 +5,17 @@ This verification experiment is used to test `pkg/seaice` with `pkg/obcs` This set-up is carved out from `../lab_sea/input.salt_plume/` -Binary input files in `input/` have been generated using the Matlab script `input/mk_input.m` -together with the set of output files from running test experiment `../lab_sea/input.salt_plume` +The **primary** test, using input files from `input/` dir, which have been generated using +the Matlab script `input/mk_input.m` together with the set of output files from running +test experiment `../lab_sea/input.salt_plume`. -Secondary test `input.seaiceSponge/` use OBCS sponge-layer for seaice fields (`useSeaiceSponge=.TRUE.`) -in addition to prescribed OBCS from the primary test. +The **secondary** test `input.seaiceSponge/` use OBCS sponge-layer for seaice fields +(`useSeaiceSponge=.TRUE.`) in addition to prescribed OBCS from the primary test. -Secondary test `input.tides/` add 4 tidal components to the barotropic velocity at the open-boundaries -(`useOBCStides=.TRUE.`) in addition to prescribed OBCS from the primary test. -The additional tidal component binary input files have been generated using the matlab -script `mk_tides.m` (see comments inside). +The **secondary** test `input.tides/` add 4 tidal components to the barotropic velocity +at the open-boundaries (`useOBCStides=.TRUE.`) in addition to prescribed OBCS from the +primary test. The additional tidal component binary input files have been generated using +the matlab script `mk_tides.m` (see comments inside). Note: specification of tidal components have been updated in PR #752 (see `input.tides/update_TideFileName.sed` on how to update `data.obcs`) From 44e6b33125a750f38d98f9973be948c1f7137621 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Fri, 29 Mar 2024 11:16:27 -0400 Subject: [PATCH 11/15] minor edit --- verification/seaice_obcs/README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/verification/seaice_obcs/README.md b/verification/seaice_obcs/README.md index fb817037e7..936408e6ec 100644 --- a/verification/seaice_obcs/README.md +++ b/verification/seaice_obcs/README.md @@ -2,17 +2,16 @@ Test set-up for seaice pkg with Open-Boundary Conditions ======================================================== This verification experiment is used to test `pkg/seaice` with `pkg/obcs` +and the set-up itself is carved out from `../lab_sea/input.salt_plume/`. -This set-up is carved out from `../lab_sea/input.salt_plume/` - -The **primary** test, using input files from `input/` dir, which have been generated using -the Matlab script `input/mk_input.m` together with the set of output files from running +The **primary** test uses input files from `input/` dir which have been generated using +the matlab script `input/mk_input.m` together with the set of output files from running test experiment `../lab_sea/input.salt_plume`. The **secondary** test `input.seaiceSponge/` use OBCS sponge-layer for seaice fields (`useSeaiceSponge=.TRUE.`) in addition to prescribed OBCS from the primary test. -The **secondary** test `input.tides/` add 4 tidal components to the barotropic velocity +The **secondary** test `input.tides/` add 4 tidal components to the barotropic velocity at the open-boundaries (`useOBCStides=.TRUE.`) in addition to prescribed OBCS from the primary test. The additional tidal component binary input files have been generated using the matlab script `mk_tides.m` (see comments inside). From fc031c0430dd9560ca7b751042eee6b8e54a1e5f Mon Sep 17 00:00:00 2001 From: mjlosch Date: Wed, 3 Apr 2024 16:42:04 +0200 Subject: [PATCH 12/15] add links and small fixes to README.md --- verification/seaice_obcs/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/verification/seaice_obcs/README.md b/verification/seaice_obcs/README.md index 936408e6ec..fd4d403475 100644 --- a/verification/seaice_obcs/README.md +++ b/verification/seaice_obcs/README.md @@ -8,13 +8,13 @@ The **primary** test uses input files from `input/` dir which have been generate the matlab script `input/mk_input.m` together with the set of output files from running test experiment `../lab_sea/input.salt_plume`. -The **secondary** test `input.seaiceSponge/` use OBCS sponge-layer for seaice fields +The **secondary** test `input.seaiceSponge/` uses OBCS sponge-layer for seaice fields (`useSeaiceSponge=.TRUE.`) in addition to prescribed OBCS from the primary test. -The **secondary** test `input.tides/` add 4 tidal components to the barotropic velocity +The **secondary** test `input.tides/` adds 4 tidal components to the barotropic velocity at the open-boundaries (`useOBCStides=.TRUE.`) in addition to prescribed OBCS from the primary test. The additional tidal component binary input files have been generated using the matlab script `mk_tides.m` (see comments inside). -Note: specification of tidal components have been updated in PR #752 - (see `input.tides/update_TideFileName.sed` on how to update `data.obcs`) +Note: specification of tidal components have been updated in PR [#752](https://github.com/MITgcm/MITgcm/pull/752) + (see [`input.tides/update_TideFileName.sed`](input.tides/update_TideFileName.sed) on how to update `data.obcs`) From c47d634dda3242190a722b911b9bf5706f342ace Mon Sep 17 00:00:00 2001 From: Martin Losch <30285667+mjlosch@users.noreply.github.com> Date: Wed, 3 Apr 2024 16:56:54 +0200 Subject: [PATCH 13/15] add another link to README.md --- verification/seaice_obcs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/verification/seaice_obcs/README.md b/verification/seaice_obcs/README.md index fd4d403475..f2148f79ea 100644 --- a/verification/seaice_obcs/README.md +++ b/verification/seaice_obcs/README.md @@ -5,7 +5,7 @@ This verification experiment is used to test `pkg/seaice` with `pkg/obcs` and the set-up itself is carved out from `../lab_sea/input.salt_plume/`. The **primary** test uses input files from `input/` dir which have been generated using -the matlab script `input/mk_input.m` together with the set of output files from running +the matlab script [`input/mk_input.m`](input/mk_input.m) together with the set of output files from running test experiment `../lab_sea/input.salt_plume`. The **secondary** test `input.seaiceSponge/` uses OBCS sponge-layer for seaice fields From beaf94758bdb5eeb0df28750698ecc0d578a1435 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Tue, 14 May 2024 21:11:41 -0400 Subject: [PATCH 14/15] small adjustment --- verification/seaice_obcs/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/verification/seaice_obcs/README.md b/verification/seaice_obcs/README.md index f2148f79ea..f024749631 100644 --- a/verification/seaice_obcs/README.md +++ b/verification/seaice_obcs/README.md @@ -16,5 +16,7 @@ at the open-boundaries (`useOBCStides=.TRUE.`) in addition to prescribed OBCS fr primary test. The additional tidal component binary input files have been generated using the matlab script `mk_tides.m` (see comments inside). -Note: specification of tidal components have been updated in PR [#752](https://github.com/MITgcm/MITgcm/pull/752) - (see [`input.tides/update_TideFileName.sed`](input.tides/update_TideFileName.sed) on how to update `data.obcs`) +Note: naming of tidal input files ("OB\*File") has been changed and augmented to include +Open-Boundary tangential flows in PR [#752](https://github.com/MITgcm/MITgcm/pull/752) + (see [`input.tides/update_TideFileName.sed`](input.tides/update_TideFileName.sed) on how +to update `data.obcs`) From a0b69dba5008990dda54aa0c50226fce6d8da0b0 Mon Sep 17 00:00:00 2001 From: Jean-Michel Campin Date: Fri, 17 May 2024 23:26:33 -0400 Subject: [PATCH 15/15] document re-writing OBCS-tides --- doc/tag-index | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/tag-index b/doc/tag-index index c9ab073d39..a91660bdef 100644 --- a/doc/tag-index +++ b/doc/tag-index @@ -1,12 +1,22 @@ Notes on tags used in MITgcmUV ============================== +o pkg/obcs (tides): + - more efficient implementation of OB barotropic tidal velocity components, + with both Cos & Sin of phase times Amplitude stored in common block ; + - more flexible specification of OB tidal-components (only read-in components + with non-zero tidal period) ; + - allows to specify tangential component of barotropic tidal velocity at OB ; + - rename all OBC tidal component input parameter (period, amplitude and + phase of each OB barotropic tidal velocity component input files) ; + - upgrade OB tidal example (in seaice_obcs/input.tides) with fewer tidal + components (only 4) but including few tangential components. o verification: - changing domain decomposition (more tiles) in global_with_exf experiment (both FWD & AD) and update ref. output ; - use correct CD-Scheme time-stepping in FWD exp. global_ocean_ebm and update ref. output ; - - simplify global_ocean.90x40x15/code_ad (undef ALLOW_GENTIM2D_CONTROL, + - simplify global_ocean.90x40x15/code_ad (undef ALLOW_GENTIM2D_CONTROL, ALLOW_DIFFKR_CONTROL & ALLOW_3D_DIFFKR); remove kpp from global_oce_latlon (from both TAF & Tapenade code) ; - after adjusting new host experiment code, merge forward test: