[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