[MITgcm-support] how to modify the detail of model result

Martin Losch Martin.Losch at awi.de
Mon Jan 12 03:59:36 EST 2015


Hi Tongy,

I totally agree with Ryan. To me the solution looks acceptable. You seem to have more eddy activity that the HYCOM results, but that may be due to different friction parameters (horizontal viscosity is a very good guess, find out what they use and try to use the same/similar). Also if HYCOM is assimilated that will also damp the circulation. 

The northern boundary looks good to me, given the boundary conditions you specify. Maybe the Stevens boundary conditions would make the transisiton even smoother if you use it in the North. (useStevensNorth=.TRUE., and maybe T/SrelaxStevens = 180days)
see here <http://mitgcm.org/public/r2_manual/latest/online_documents/node236.html#SECTION00731550000000000000>
for details

Balancing: I would try to balance the in/outflow in the preprocessing step, but if you want to rely on obcsBalance, then I suggest

OBCS_balanceFacE = 0.,
OBCS_balanceFacN = 0.,
OBCS_balanceFacS = 1.,

so that only the southern boundary is adjusted. Setting all to one should also work, then the off-balance term is distributed among all 3 boundaries, which shouldn’t be a problem if the off-balance term is small.
see also: <http://mitgcm.org/public/r2_manual/latest/online_documents/node236.html#SECTION00731560000000000000>

Martin

On Jan 11, 2015, at 1:00 AM, Ryan Abernathey <ryan.abernathey at gmail.com> wrote:

> Tongya,
> 
> Perhaps you are expecting too much from MITgcm. In general, a free-running model will never match the observed circulation as well as a data-assimilating model such as HYCOM. This is especially true for high resolution simulations such as the one you are running. These flows are turbulent, so the most you can hope for is that the flow *statistics* (i.e. mean velocities and eddy kinetic energies) match the observations. The figures on your blog show qualitatively similar circulations for both models.
> 
> If you would simply like the flow to be more "smooth," you can always just turn up the viscosity. (This is what HYCOM does.) But keep in mind that HYCOM is not the "true" ocean circulation either.
> 
> -Ryan
> 
> On Sat, Jan 10, 2015 at 7:26 AM, Tongya Liu <liutongya13 at mails.ucas.ac.cn> wrote:
> Hi, Martin,
> 
> Thank you for your reply. It's my fault that I didn't describe my problem clearly. I will share my other file below.
> 
> The circulation of South China Sea is mainly controlled by the monsoon. Driven by the winter and summer monsoons, predominant basin-wide circulation in the upper layer is cyclonic and anticyclonic in the SCS, respectively.
> 
> I show my result and HYCOM result of the monthly circulation in the website:
> 
> http://blog.sina.com.cn/s/blog_7494b0230102va5m.html
> 
> This is the model result of 7th years. I also use the KPP and EXF package. The flow of my case is in a mess, especially around the Luson strait and nearby the northern boundary. I don't know how to make the flow smooth.
> 
> I know the open boundary is vital to the model result. I provide the u and v of monthly HYCOM data to the N,E,S boundary. To make the flow flux keep balance, I use the OBCS_balance. I have already modify the flow flux during preprocessing. You said in previous emails that if the boundary have strong inflow or outflow, the OBCS_balanceFac* should be 0. In my case, there are NEC and Kuroshio in the N and E boundary. The southern boundary will directly influence the South China Sea Western Boundary(SCSWB), which is important in the circulation of SCS. What the OBCS_balanceFac* should be set? I have tried to use the orlanski and Sponge Layer, but the result is not good.
> 
> Please give me some advices. Thank you very much.
> 
> Tongya Liu
> 
> data file:
> 
> # ====================
> # | Model parameters |
> # ====================
> #
> # Continuous equation parameters
>  &PARM01
>  viscAr=1.77E-3,
>  viscAh=0,
>  diffKhT=0,
>  diffKrT=1.51E-5,
>  diffKhS=0,
>  diffKrS=1.51E-5,
>  useFullLeith=.TRUE.,
>  viscC4Leith=1.0,
>  viscC4Leithd=1.0,
>  viscA4GridMax=1.0,
> 
>  tempAdvScheme=33,
>  saltAdvScheme=33,
>  eosType = 'JMD95Z',
> 
>  no_slip_sides=.FALSE.,
>  no_slip_bottom=.TRUE.,
>  bottomDragQuadratic=0.0025,
>  implicitDiffusion=.TRUE.,
>  implicitFreeSurface=.TRUE.,
>  implicitViscosity=.TRUE.,
> 
>  staggerTimeStep=.TRUE.,
>  implicitFreeSurface=.TRUE.,
>  exactConserv=.TRUE.,
>  hFacMin=0.1,
>  readBinaryPrec=64,
> #- not safe to use globalFiles in multi-processors runs
>  globalFiles=.TRUE.,
>  useSingleCpuIO=.TRUE.,
>  &
> 
> # Elliptic solver parameters
>  &PARM02
>  cg2dMaxIters=1000,
>  cg2dTargetResidual=1.E-13,
>  &
> 
> # Time stepping parameters
>  &PARM03
>  nIter0=       0,
> #nIter0=       34560,
>  nTimeSteps = 2592000,
> #startTime=0.,
> #endTime=311040000.,
>  basetime=0,
>  deltaT=1200.0,
>  abEps=0.1,
>  momDissip_In_AB=.FALSE.,
>  dumpFreq=864000.0,
>  pChkptFreq=31104000.,
>  chkptFreq=2592000.,
>  monitorSelect=2,
>  monitorFreq=1200.,
> 
>  &
> 
> # Gridding parameters
>  &PARM04
>  usingSphericalPolarGrid=.TRUE.,
>  ygOrigin=0.0,
>  xgOrigin=99.,
>  dxSpacing=0.1,
>  dySpacing=0.1,
>  delR=30.,30.,30.,30.,30.,30.,
>        30.,30.,30.,30.,30.,30.,
>        30.,30.,30.,30.,30.,30.,
>        30.,30.,50.,50.,100.,200.,
>        300.,500.,600.,800.,800.,1000.,
>  &
> # Input datasets
>  &PARM05
>  bathyFile='topog.bin',
>  hydrogThetaFile='Temp.bin',
>  hydrogSaltFile='Salt.bin',
>  &
> 
> 
> data.obcs:
>  &OBCS_PARM01
>  
>  OBCSfixTopo=.FALSE.,
>  OB_Jnorth= 360*-1,
>  OB_Jsouth= 360*1,
>  OB_Ieast = 300*-1,
> 
>  useOBCSprescribe = .TRUE.,
>  useOrlanskiNorth = .TRUE.,
>  useOrlanskiSouth = .TRUE.,
>  useOrlanskiEast = .TRUE.,
>  
>  useOBCSbalance=.TRUE.,
>  OBCS_balanceFacN= 0.,
>  OBCS_balanceFacS= 1.,
>  OBCS_balanceFacE= 1.,
> 
>  OBNuFile = 'OB_NorthU.bin',
>  OBSuFile = 'OB_SouthU.bin',
>  OBEuFile = 'OB_EastU.bin',
>  OBNvFile = 'OB_NorthV.bin',
>  OBSvFile = 'OB_SouthV.bin',
>  OBEvFile = 'OB_EastV.bin',
> 
>  OBNsFile = 'snorth.bin',
>  OBNtFile = 'tnorth.bin',
>  OBEsFile = 'seast.bin',
>  OBEtFile = 'teast.bin',
>  OBSsFile = 'ssouth.bin',
>  OBStFile = 'tsouth.bin',
> 
>  OBCS_monitorFreq= 3600.,
>  OBCS_monSelect = 1,
>  &
> 
> # Orlanski parameters
>  &OBCS_PARM02
>  Cmax=0.45,
>  cVelTimeScale=1000.,
>  &
> 
> data.kpp:
> # KPP parameters
>  &KPP_PARM01
>  KPPmixingMaps   = .FALSE.,
>  KPPwriteState   = .TRUE.,
>  KPP_ghatUseTotalDiffus=.TRUE.,
>  &
> 
> data.exf
> # *********************
> # External Forcing Data
> # *********************
>  &EXF_NML_01
>  repeatPeriod= 31104000.,
>  readStressOnCgrid = .TRUE.,
>  exf_iprec         = 64,
>  useExfCheckRange  =.TRUE.,
>  &
> 
> # *********************
>  &EXF_NML_02
> #hfluxstartdate1   = 00000101,
> #hfluxstartdate2   = 000000,
> #hfluxperiod       = 2592000.0,
> #
> #sfluxstartdate1   = 00000101,
> #sfluxstartdate2   = 000000,
> #sfluxperiod       = 2592000.0,
> #
>  ustressstartdate1 = 00000101,
>  ustressstartdate2 = 000000,
>  ustressperiod     = 2592000.0,
> #
>  vstressstartdate1 = 00000101,
>  vstressstartdate2 = 000000,
>  vstressperiod     = 2592000.0,
> #
>  climsststartdate1 = 00010101,
>  climsststartdate2 = 000000,
>  climsstperiod     = 2592000.0,
> # 1 day restoring timescale for temperature
>  climsstTauRelax   = 86400.,
> #
>  climsssstartdate1 = 00010101,
>  climsssstartdate2 = 000000,
>  climsssperiod     = 2592000.0,
> # 1 day restoring timescale for salinity
>  climsssTauRelax   = 86400.,
> #
> #hfluxfile    = 'hflux.bin',
> #sfluxfile    = 'ncep_emp.bin',
> #uwindfile    = 'uwind.bin',
> #vwindfile    = 'vwind.bin',
>  climsstfile  = 'sst.bin',
>  climsssfile  = 'sss.bin',
>  ustressfile  = 'tx.bin',
>  vstressfile  = 'ty.bin',
> #
>  &
> 
> # *********************
>  &EXF_NML_03
>  &
> 
> # *********************
>  &EXF_NML_04
> 
>  &
> &EXF_NML_OBCS
>  obcsEstartdate1   = 00000101,
>  obcsEstartdate2   = 00000,
>  obcsEperiod       = 2592000,
> #
>  obcsNstartdate1   = 00000101,
>  obcsNstartdate2   = 000000,
>  obcsNperiod       = 2592000,
> #
>  obcsSstartdate1   = 00000101,
>  obcsSstartdate2   = 000000,
>  obcsSperiod       = 2592000,
>  &
> 
> 
> 
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
> 
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list