[MITgcm-support] issues with SST/SSS restoring and OBCS in EXF package
Oliver Jahn
jahn at mit.edu
Fri Jan 22 23:06:27 EST 2021
Hi Andreas,
I think you will have to place the fields in the middle of the month as
non-exf forcing assumes time averages,
obcsSstartdate1 = 19790116,
etc. Alternatively, you can just set
obcsSperiod = -12,
and not set startdate1/2 or RepCycle. This means monthly climatology
(even with Gregorian calendar). This applies to all fields, of course,
but I imagine for obcs a mismatch with the initial condition could make
the model blow up early on. Not sure this is the only problem, but it
might help.
Best,
Oliver
On 2021-01-22 22:44, Andreas Klocker wrote:
> Martin,
> I tried a few more things.
> 1) When I use the EXF package, but turn off the OBCS package (and
> comment out relevant parts in the data.exf file), then the solver seems
> to be fine.
> 2) When I use both the EXF and OBCS package, and also turn on the SEAICE
> package, the solver also seems to be fine, but I get:
> ** WARNING ** SEAICE_LSR (it= 0, 1) did not converge :
> (PID.TID 0808.0001) nIt,wFU,dU= 1500 0.950 2.126087E-09 ; nIt,wFV,dV=
> 1500 0.950 1.679611E-09
> (PID.TID 0808.0001) ** WARNING ** SEAICE_LSR (it= 0, 2) did
> not converge :
> (PID.TID 0808.0001) nIt,wFU,dU= 1500 0.950 3.301846E-09 ; nIt,wFV,dV=
> 1500 0.950 5.170461E-09
> (PID.TID 0808.0001) ** WARNING ** SEAICE_LSR (it= 1, 1) did
> not converge :
> (PID.TID 0808.0001) nIt,wFU,dU= 1500 0.950 4.122604E-09 ; nIt,wFV,dV=
> 1500 0.950 1.121440E-08
> (PID.TID 0808.0001) ** WARNING ** SEAICE_LSR (it= 1, 2) did
> not converge :
> (PID.TID 0808.0001) nIt,wFU,dU= 1500 0.950 4.035429E-09 ; nIt,wFV,dV=
> 1500 0.950 9.547553E-09
> Also, when I run this for longer, I get a very unrealistic ocean, with
> deep mixed layers and surface cooling (the restoring seems to try and
> compensate this, but not enough) where they shouldn't be (also far away
> from any ice) etc, so while the solver seems to be fine in these runs,
> there's still something very wrong.
> So it seems to be that there is something wrong with how I use the OBCS
> package, but since my OBCS input files work fine without the exf
> package, I assume those files are fine.
> Any ideas?
> Andreas
>
>
>
> On Sat, Jan 23, 2021 at 12:52 PM Andreas Klocker <aklocker42 at gmail.com
> <mailto:aklocker42 at gmail.com>> wrote:
>
> Hi Martin,
>
> - # useExfCheckRange = .TRUE.,
>
> I don't get any complaints here.
>
> - 32 bit
>
> Yes, I use 32 bit everywhere.
>
> - readStressOnAgrid
>
> Correct, that was a mistake. But it didn't solve my problem.
>
> This should be so simple, hence my confusion...
>
> Andreas
>
>
>
>
>
> On Sat, Jan 23, 2021 at 12:26 PM Martin Losch <Martin.Losch at awi.de
> <mailto:Martin.Losch at awi.de>> wrote:
>
> Hi Andreas,
>
> when you uncomment
> # useExfCheckRange = .TRUE.,
> does the model complain about weird forcing values?
>
> Wild guess: you use
> > exf_iprec = 32,
> > exf_iprec_obcs = 32,
> are your input fields really 32 bit (and you used
> readBinaryPrec=32 in data&PARM01)?
>
> Then, if you use the same files, readStressOnAgrid should be
> false, shouldn’t it? without exf the model expects the forcing
> to be on the appropriate grid points, ie. U and V points for stress.
>
> Not important but I think you don’t need to set ustressRepCycle
> etc to the same value if you set repeatPeriod=31104000.
>
> Martin
>
> > On 22. Jan 2021, at 08:02, Andreas Klocker
> <aklocker42 at gmail.com <mailto:aklocker42 at gmail.com>> wrote:
> >
> > Hi all,
> >
> > I'm having some issues with the EXF package which I just can't
> understand. Maybe one of you can help.
> >
> > I am running a regional model configuration using the OBCS
> package. In my first experiment I set
> >
> > periodicExternalForcing=.TRUE.,
> > externForcingPeriod=2592000.,
> > externForcingCycle=31104000.,
> > tauThetaClimRelax = 864000.,
> > tauSaltClimRelax = 2592000.,
> >
> > in the data file, i.e. I restore surface T/S with above
> restoring time scale/forcing period/forcing cycle. This works fine.
> >
> > Then I wanted to add sea ice to my open boundary conditions
> which, if I understand correctly, means that I have to use the
> EXF package to set the restoring time scale/forcing
> period/forcing cycle. To move forward in baby steps, I didn't
> use sea ice yet, but just tried to let the EXF package do
> exactly the same as the restoring and obcs did before I switched
> to the EXF package. See below for my data.exf file. But when I
> try and run this, the solver immediately writes NaNs, despite me
> using the same initial conditions, obcs files, and restoring
> files as before. I would have thought that both ways of using
> OBCS and restoring should give the same results, but one runs
> fine while the other one crashes immediately without me being
> able to find the issue.
> >
> > Please let me know if anyone is seeing something I'm doing
> wrong here.
> >
> > Thanks in advance!
> >
> > Andreas Klocker
> >
> >
> > #
> > # *********************
> > # External Forcing Data
> > # *********************
> > &EXF_NML_01
> > #
> > # useExfCheckRange = .TRUE.,
> > # repeatPeriod = 2592000.0,
> > exf_iprec = 32,
> > exf_iprec_obcs = 32,
> > useAtmWind=.FALSE.,
> > readStressOnAgrid=.TRUE.,
> > #
> > &
> >
> > # *********************
> > &EXF_NML_02
> > #
> > ustressstartdate1 = 19790101,
> > ustressstartdate2 = 000000,
> > ustressperiod = 2592000.0,
> > ustressRepCycle = 31104000.,
> > #
> > vstressstartdate1 = 19790101,
> > vstressstartdate2 = 000000,
> > vstressperiod = 2592000.0,
> > vstressRepCycle = 31104000.,
> > #
> > climsststartdate1 = 19790101,
> > climsststartdate2 = 000000,
> > climsstperiod = 2592000.0,
> > climsstTauRelax = 2592000.0,
> > climsstRepCycle = 31104000.,
> > #
> > climsssstartdate1 = 19790101,
> > climsssstartdate2 = 00000,
> > climsssperiod = 2592000.0,
> > climsssTauRelax = 864000.0,
> > climsssRepCycle = 31104000.,
> > #
> > ustressfile = 'TauX_BSOSE ',
> > vstressfile = 'TauY_BSOSE ',
> > climsstfile = 'SST_BSOSE.res ',
> > climsssfile = 'SSS_BSOSE.res',
> > #
> > &
> >
> > # *********************
> > &EXF_NML_03
> > &
> >
> > # *********************
> > # old open64 compiler (4.2.1) cannot skip this namelist to
> read in the next one;
> > # comment out this namelist (not read).
> > #&EXF_NML_04
> > #&
> >
> > # *********************
> > &EXF_NML_OBCS
> >
> > # useOBCSYearlyFields = .TRUE.,
> >
> > obcsSstartdate1 = 19790101,
> > obcsSstartdate2 = 000000,
> > obcsSperiod = 2592000.0,
> > obcsSRepCycle = 31104000.,
> > #
> > obcsNstartdate1 = 19790101,
> > obcsNstartdate2 = 000000,
> > obcsNperiod = 2592000.0,
> > obcsNRepCycle = 31104000.,
> > #
> > obcsWstartdate1 = 19790101,
> > obcsWstartdate2 = 000000,
> > obcsWperiod = 2592000.0,
> > obcsWRepCycle = 31104000.,
> > #
> > obcsEstartdate1 = 19790101,
> > obcsEstartdate2 = 000000,
> > obcsEperiod = 2592000.0,
> > obcsERepCycle = 31104000.,
> > #
> > &
> >
> > _______________________________________________
> > MITgcm-support mailing list
> > MITgcm-support at mitgcm.org <mailto:MITgcm-support at mitgcm.org>
> > http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org <mailto:MITgcm-support at mitgcm.org>
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
>
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
>
More information about the MITgcm-support
mailing list