[MITgcm-support] Prescribing winds using stress versus bulk formulae

Sanjiv Ramachandran sramachandran at umassd.edu
Fri Jan 11 01:02:58 EST 2019


Hi Edward,

                   Thanks for your comments. For the constant-wind simulation, I am using free slip boundary conditions on the sides as well as the bottom. The default value of the bottom drag coefficient was zero, I increased it and the velocities grow at a less rapid rate. I don't get NaN values, at least for the duration of this simulation. I will do some more tests on a larger domain to see if the modified bottom drag is enough to equilibriate the system or whether I just end up getting NaN values at later times.


I still need to figure out what is wrong with the "constant stress" simulation. To generate the 'zonalwindFile' that goes into 'data', I am following the steps in the gendata.m file in the 'input' folder for the  baroclinic wind gyre tutorial case.


Thanks for helping!

Sanjiv


________________________________
From: MITgcm-support <mitgcm-support-bounces at mitgcm.org> on behalf of Edward W Doddridge <ewd at mit.edu>
Sent: Thursday, January 10, 2019 10:19 AM
To: mitgcm-support at mitgcm.org
Subject: Re: [MITgcm-support] Prescribing winds using stress versus bulk formulae

Hi Sanjiv,

Those plots look an awful lot like your “constant stress” simulation isn’t receiving any wind stress. In comparison the “constant wind” simulation shows a clear imprint of the wind forcing.

I suspect that there is something wrong with your setup for the constant stress simulation.

You mention that during the constant wind simulation, the jet continues to accelerate until you get NaNs - this can happen if there isn’t enough friction in the model to remove the momentum from the surface forcing. Are you specifying a bottom drag? Are the sids no-slip? Do you have bathymetry that can support zonal pressure gradients and slow the flow?

Regards,
Ed


________________________________
Edward Doddridge
Postdoctoral researcher
Earth, Atmospheric and Planetary Sciences
Massachusetts Institute of Technology

www.doddridge.me<http://www.doddridge.me>

On 9 Jan 2019, at 15:13, Sanjiv Ramachandran <sramachandran at umassd.edu<mailto:sramachandran at umassd.edu>> wrote:

Hi Martin,
                  I turned off the bulk forcing formulae in EXF_options.h as you had suggested:

#undef ALLOW_ATM_TEMP
#define ALLOW_ATM_WIND
#undef ALLOW_DOWNWARD_RADIATION

The data.exf file now reads (showing only the relevant bits):
 &EXF_NML_03
# uwindconst = -1.0,
# atempconst = 298.0,
# aqhconst = 0.007,
 swfluxconst= 0.0,
 hfluxconst = 0.0,
 sfluxconst = 0.0,
 &

I am still having the same problems, which is that the jet keeps accelerating in the simulation with constant winds until I get NaN values.

(i) After the changes listed above, my EXF diagnostics file shows zero values for 'EXFswnet' and 'EXFqnet'. The variables 'EXFhs', 'EXFhl' and 'EXFlwnet' are not zero but presumably that is okay because I am using option 1 (Sec.B, EXF_options.h)  to specify the fluxes in data.exf.

(ii) I am attaching a few plots at the link below from the two simulations, one with constant \tau and the other with constant winds that uses the 'exf' package to compute \tau using exchange coefficients. The topmost plot on the first page shows the effective wind stress is much smaller than the value I am using in the constant-tau simulations. This is true at all times for the constant-wind simulation, based on the values in the EXF diagnostics file. Yet, the zonal velocity ('U' in my plots) is very different in the two simulations.
(Note: I have modified the exf_init_varia.F file to specify an initial 'uwind' profile that is zero towards the walls. Specifying a constant 'uwind' value in data.exf yields undesirable upwelling and downwelling at the south and north walls).
Here is the link for the plots:

https://www.dropbox.com/s/ut9fqhy826a0hys/tau_vs_wind_check.pdf?dl=0

Does 'exf' need to know whether I am using non-periodic BCs in the meridional direction?

Thanks!
Sanjiv


________________________________
From: MITgcm-support <mitgcm-support-bounces at mitgcm.org<mailto:mitgcm-support-bounces at mitgcm.org>> on behalf of Martin Losch <Martin.Losch at awi.de<mailto:Martin.Losch at awi.de>>
Sent: Friday, January 4, 2019 4:40 AM
To: MITgcm Support
Subject: Re: [MITgcm-support] Prescribing winds using stress versus bulk formulae

Hi Sanjiv,

I think that with your settings, you’ll have some unbalanced thermal forcing (that has nothing to do with the wind).

You can check with the diagnostics package what the individual fluxes are:

------------------------------------------------------------------------------------
  Num  |<-Name->|Levs|  mate |<- code ->|<--  Units   -->|<- Tile (max=80c)
------------------------------------------------------------------------------------
   187 |EXFhs   |  1 |       |SM      U1|W/m^2           |Sensible heat flux into ocean, >0 increases theta
   188 |EXFhl   |  1 |       |SM      U1|W/m^2           |Latent heat flux into ocean, >0 increases theta
   189 |EXFlwnet|  1 |       |SM      U1|W/m^2           |Net upward longwave radiation, >0 decreases theta
   190 |EXFswnet|  1 |       |SM      U1|W/m^2           |Net upward shortwave radiation, >0 decreases theta
   191 |EXFlwdn |  1 |       |SM      U1|W/m^2           |Downward longwave radiation, >0 increases theta
   192 |EXFswdn |  1 |       |SM      U1|W/m^2           |Downward shortwave radiation, >0 increases theta
   193 |EXFqnet |  1 |       |SM      U1|W/m^2           |Net upward heat flux (turb+rad), >0 decreases theta
   194 |EXFtaux |  1 |       |UM      U1|N/m^2           |zonal surface wind stress, >0 increases uVel
   195 |EXFtauy |  1 |       |VM      U1|N/m^2           |meridional surface wind stress, >0 increases vVel
   196 |EXFuwind|  1 |       |UM      U1|m/s             |zonal 10-m wind speed, >0 eastward
   197 |EXFvwind|  1 |       |VM      U1|m/s             |meridional 10-m wind speed, >0 northward
   198 |EXFwspee|  1 |       |SM      U1|m/s             |10-m wind speed modulus ( >= 0 )
   199 |EXFatemp|  1 |       |SM      U1|degK            |surface (2-m) air temperature
   200 |EXFaqh  |  1 |       |SM      U1|kg/kg           |surface (2-m) specific humidity
   201 |EXFevap |  1 |       |SM      U1|m/s             |evaporation, > 0 increases salinity
   202 |EXFpreci|  1 |       |SM      U1|m/s             |precipitation, > 0 decreases salinity
   203 |EXFsnow |  1 |       |SM      U1|m/s             |snow precipitation, > 0 decreases salinity
   204 |EXFempmr|  1 |       |SM      U1|m/s             |net upward freshwater flux, > 0 increases salinity
   205 |EXFpress|  1 |       |SM      U1|N/m^2           |atmospheric pressure field
   206 |EXFroff |  1 |       |SM      U1|m/s             |river runoff, > 0 decreases salinity

You’ll probably find that EXFhs, EXFhl, EXFlwnet will be non-zero. I order to avoid that, you’d have to turn off the bulk formulae and radiation code:
#undef ALLOW_DOWNWARD_RADIATION
#undef ALLOW_BULKFORMULAE
See the default pkg/exf/EXF_OPTIONS.h Section (B) Surface buoyance flux. You want option (1), that would be similar to not using exf, except for the wind fields.

Martin

On 3. Jan 2019, at 22:53, Sanjiv Ramachandran <sramachandran at umassd.edu<mailto:sramachandran at umassd.edu>> wrote:

Hi all,
           I am some questions about prescribing winds through the 'exf' package. My initial condition is a shallow mixed layer in geostrophic balance (based on the 'MLAdjust' test case) with a zonal jet whose peak value at the surface is initially 0.24 m/s.

When I turn off the 'exf' package, and prescribe a wind stress = 0.05 N/m2 through the 'zonalWindFile' variable in 'data', the model runs without problems for 50 days.

When I turn on the 'exf' package with a constant wind of 3 m/ the zonal velocities in the domain keep increasing with time until I get NaN values around day 30. I am not sure why this is happening as the wind stress in the second case is much weaker. Winds of 3 m/s, assuming an exchange coefficient (Cd) of 1.2e-3, and rho_air=1.22 kg/m3, correspond to a wind stress of 0.013 N/m2.

For the simulation with 'exf' turned on, I have enabled the following three options in EXF_OPTIONS.h:
#define ALLOW_ATM_TEMP
#define ALLOW_ATM_WIND
#define ALLOW_DOWNWARD_RADIATION

I am pasting below the relevant parameters from some of the data files for the simulation with 'exf' turned on. Any pointers on where I might be erring would be greatly appreciated.

--------------------------data.pkg---------------------------------------------
# Packages
 &PACKAGES
  useEXF     = .TRUE.,
  useCAL     = .TRUE.,
  useMNC     = .TRUE.,
  useKPP     = .TRUE.,
  useDiagnostics=.TRUE.,
 &
----------------------------data.kpp---------------------------------------------
# KPP parameters
 &KPP_PARM01
 KPPmixingMaps   = .FALSE.,
 KPPwriteState   = .TRUE.,
 KPP_ghatUseTotalDiffus=.TRUE.,
 kpp_dumpFreq = 2160000.,
 &
---------------------------data.exf------------------------------------------------
 &EXF_NML_01
# useExfCheckRange  = .TRUE.,
 useAtmWind=.TRUE.,
 readStressOnCgrid=.TRUE.,
# repeatPeriod      = 2678400.0,
# exf_iprec         = 32,
#
 &

&EXF_NML_02
 hfluxfile         = ' ',
 sfluxfile         = ' ',
 ustressfile       = ' ',
 vstressfile       = ' ',
 atempfile         = ' ',
 aqhfile           = ' ',
 uwindfile         = ' ',
 vwindfile         = ' ',
 evapfile          = ' ',
 precipfile        = ' ',
 lwfluxfile        = ' ',
 swfluxfile        = ' ',
 lwdownfile        = ' ',
 swdownfile        = ' ',
 runoffFile        = ' ',
 climsstfile       = ' ',
 climsssfile       = ' ',
 &

 &EXF_NML_03
 uwindconst = -3.0,
 atempconst = 298.0,   #  approx. 0.5 degree cooler than the SST
 swfluxconst= 0.0,  # zeroed out for debugging
 lwdownconst = 0.0,  # zeroed out for debugging
 &

----------------------------------------data-------------------------------------
 &PARM01
 viscAr=1.E-5,
 viscC4leith = 1.85,
 viscC4leithD = 1.85,
 viscC4smag = 1.,
 viscA4GridMax = 1.,
 useFullLeith=.TRUE.,
 no_slip_sides=.FALSE.,
 no_slip_bottom=.FALSE.,
 vectorInvariantMomentum=.TRUE.,
 ivdc_kappa=0.,
 implicitDiffusion=.TRUE.,
 implicitViscosity=.TRUE.,
 f0=4.E-5,                                                   # corresponds to lat. = 16 N
 beta=1.E-11,
 useJamartWetPoints=.TRUE.,
 eosType='LINEAR',
# Temperature
 tAlpha=3.16E-4,
# Salinity
 sBeta =6.32E-4,
 gravity=9.81,
 rhoNil=1027.,
 rigidLid=.FALSE.,
 implicitFreeSurface=.TRUE.,
 staggerTimeStep=.TRUE.,
 tempAdvScheme=33,
 saltAdvScheme=33,
 readBinaryPrec=64,
 writeBinaryPrec=64,
 nonHydrostatic=.FALSE.,
 &

 &PARM02
 cg2dMaxIters=1000,
 cg2dTargetResidual=1.E-11,
 cg3dMaxIters=40,
 cg3dTargetResidual=1.E-9,
 &

 &PARM03
 cAdjFreq=0.,
 &

---------------------------------------------------------

Thanks,
Sanjiv





_______________________________________________
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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20190111/dcbdcf2f/attachment-0001.html>


More information about the MITgcm-support mailing list