[MITgcm-support] "how to proper use both net heat flux and sstrelaxation?? "

李志远 oceanlizy at 163.com
Mon May 26 09:32:58 EDT 2014


From: LIZHI  <oceanlizy at 163.com>
To: MITgcm Support <mitgcm-support at mitgcm.org>
Subject: "how to proper use both net heat flux and sstrelaxation?? "


Dear,all ;
     when I use exf package for forcing the model with hflux=net longwave + net latent + net sensible (upward) ,swflux=net shortwave (upward)  . The four flux  sources were downloaded from NCEP/NCAR Reanalysis  data at :http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.derived.surfaceflux.html  .  but ,the results from model output seemed not very good :if I do not have  sstrelaxation , the model sst result will get very large value and negative value at some regions,in summer, it up to 60 degree and in winter, up to negative 20 degree !!!  I was told to give a sstrelaxation to get a reasonable temperature . But I am pazzled that if I give a net surface heat flux as well as sstrelaxation , will the model overlap use the heat flux : I mean ,even I gave no heat flux ,only gave a  sstrelaxation ,the model will use the given sstrelaxation to compute a surface heat flux ? So , if you give both two , how I can control the model use a right one  ,should I modify the code to ensure this and how to modify it ?


my data file:
# ====================
# | Model parameters |
# ====================
#
# Continuous equation parameters
 &PARM01
 tRef = 37*20.,
 sRef = 37*34.,
 viscAz=9.E-5,
# viscAh=4.5E2,
 diffKhT=4.5E2,
 diffKzT=9.E-5,
 diffKhS=4.5E2,
 diffKzS=9.E-5,
 viscAhGrid=0.1,
# diffKhT=0,
# diffKhS=0,
# tempAdvScheme = 33,
# saltAdvScheme = 33,
 staggerTimeStep = .TRUE.
 rigidLid=.FALSE.,
 eosType = 'LINEAR',
 no_slip_sides=.FALSE.,
 no_slip_bottom=.TRUE.,
 bottomDragQuadratic=2.5E-3,
 implicitFreeSurface=.TRUE.,
# staggerTimestep=.FALSE.,
 implicitdiffusion=.TRUE.,
 implicitviscosity=.TRUE.,
# ivdc_kappa=100.,
# implicitDiffusion=.TRUE.,
# allowFreezing=.TRUE.,
# exactConserv=.TRUE.,
# useRealFreshWaterFlux=.TRUE.,
# useCDscheme=.TRUE.,
# turn on looped cells
 hFacMin=.1,
# hFacMindr=50.,
# set precision of data files
 readBinaryPrec=64,
 useSingleCpuIO=.TRUE.,


 &


# Elliptic solver parameters
 &PARM02
 cg2dMaxIters=500,
 cg2dTargetResidual=1.E-13,
 &


# Time stepping parameters
 &PARM03
 startTime =  0,
 endTime   =  31104000,
 deltaT = 100.,


 abEps = 0.1,
# pChkptFreq= 1728000.,
 dumpFreq=    864000.,
# taveFreq=   4000.,
 monitorFreq=1.,
 &


# Gridding parameters
 &PARM04
 usingSphericalPolarGrid=.TRUE.,
 delX=135*0.1,
 delY=165*0.1,
 ygOrigin=24.5,
 xgOrigin=117.525,
 delZ=   2,3,4,4,5,5,5,5,5,5,
          5,5,5,5,5,5,5,7,8,10,
          15,20,25,30,50,70,100,150,200,
          250,300,400,487,500,500,500,500,         
 &


# Input datasets
 &PARM05
 bathyFile=      'yswc_topog.bin',
 hydrogThetaFile='ecco2_20years_monthly_temp.bin',
 hydrogSaltFile= 'ecco2_20years_monthly_salt.bin',
 &
EXF_OPTIONS.h  file :
C   Bulk formulae related flags.
#undef  ALLOW_ATM_TEMP
#define  ALLOW_ATM_WIND
#undef  ALLOW_DOWNWARD_RADIATION
#undef  ALLOW_RUNOFF
#if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND))
# define ALLOW_BULKFORMULAE
# define ALLOW_BULK_LARGEYEAGER04
#endif


C   Zenith Angle/Albedo related flags.
#ifdef ALLOW_DOWNWARD_RADIATION
# undef ALLOW_ZENITHANGLE
#endif


C   Use ocean_emissivity*lwdwon in lwFlux. This flag should always be define
C   but is not because of backward compatibility
#ifdef ALLOW_DOWNWARD_RADIATION
# undef EXF_LWDOWN_WITH_EMISSIVITY
#endif


C   Relaxation to monthly climatologies.
#define ALLOW_CLIMSST_RELAXATION
#define ALLOW_CLIMSSS_RELAXATION


C   Use spatial interpolation to interpolate
C   forcing files from input grid to model grid.
#undef USE_EXF_INTERPOLATION


#undef EXF_INTERP_USE_DYNALLOC
#if ( defined (EXF_INTERP_USE_DYNALLOC) && defined (USING_THREADS) )
# define EXF_IREAD_USE_GLOBAL_POINTER
#endif


#endif /* ndef ALLOW_AUTODIFF_TAMC */
#endif /* ALLOW_EXF */
#endif /* EXF_OPTIONS_H */


my data.exf file :
# External Forcing Data
# *********************
 &EXF_NML_01
#
 useExfCheckRange  = .FALSE.,
 repeatPeriod      = 31104000.0,
 exf_iprec         = 64,
#
 &


# *********************
 &EXF_NML_02
#
 hfluxstartdate1   = 20120101,
 hfluxstartdate2   = 000000,
 hfluxperiod       = 2592000.0,
#
 sfluxstartdate1   = 20120101,
 sfluxstartdate2   = 000000,
 sfluxperiod       = 86400.0,
#
 uwindstartdate1   = 20120101,
 uwindstartdate2   = 000000,
 uwindperiod       = 2592000.0,
#
 vwindstartdate1   = 20120101,
 vwindstartdate2   = 000000,
 vwindperiod       = 2592000.0,
#
 swfluxstartdate1  = 20120101,
 swfluxstartdate2  = 000000,
 swfluxperiod      =2592000.0,
#
 climsststartdate1  = 20120101,
 climsststartdate2  = 000000,
 climsstperiod      = 2592000.0,
# 0.5 days restoring timescale for sst
 climsstTauRelax    = 432000.0,
#
 climsssstartdate1  = 20120101,
 climsssstartdate2  = 000000,
 climsssperiod      = 2592000.0,
#  30days restoring timescale for salinity
 climsssTauRelax    = 2592000.0,
#
 hfluxfile    = 'ncep_longmean_monthly_hflux.bin',
 swfluxfile   = 'ncep_longmean_monthly_swflux.bin ',
 climsstfile  = 'AVHRR_sst.bin',
 climsssfile  = 'WOA_sss.bin',
 uwindfile    = 'qscat_2007_monthly_uwind.bin',
 vwindfile    = 'qscat_2007_monthly_vwind.bin',
 sfluxfile    = 'ecco2_sflux2012.bin',
 &


your quick reply is great appreciated !
yours  lizhi
best regards !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20140526/193697d7/attachment.htm>


More information about the MITgcm-support mailing list