[MITgcm-support] "something wrong with exf "

李志远 oceanlizy at 163.com
Sun Apr 27 08:46:08 EDT 2014


From: Li zhi <oceanlizy at 163.com>
To: MITgcm <mitgcm-support at mitgcm.org>
Subject : "something wrong with exf "



Hello,everyone:
       I try to run my model with exf package . The external forcing includes uwind ,vwind , net heat flux and net salt flux . I know that net heat flux =latent +sensible+longwave +shortwave ,and shortwave flux will penetrate into the ocean .I have downloaded the four parts heat flux ,and  made two input files : net upward "hflux"=longwave + latent+sensible  and net downward "swflux"=shortwave .  all my input files are 134*165*2(2 time slice) , period is 432000 s , the model run 864000 s .
But ,something wrong occured !


1) the model run 432000 s  then abnormally ended ,that is, the model only read one time slice exf input then  died .
2) the STDOUT file is 
 (PID.TID 0009.0001) // Begin MONITOR EXF statistics
(PID.TID 0009.0001) // =======================================================
(PID.TID 0009.0001) %MON exf_tsnumber                 =                  4319
(PID.TID 0009.0001) %MON exf_time_sec                 =   4.3190000000000E+05
(PID.TID 0009.0001) %MON exf_ustress_max              =   1.3572277506792E-01
(PID.TID 0009.0001) %MON exf_ustress_min              =  -1.6013901825976E-01
(PID.TID 0009.0001) %MON exf_ustress_mean             =  -6.2404852259709E-03
(PID.TID 0009.0001) %MON exf_ustress_sd               =   6.8804487788336E-02
(PID.TID 0009.0001) %MON exf_ustress_del2             =   1.6609094220898E-04
(PID.TID 0009.0001) %MON exf_vstress_max              =   2.3527390232609E-02
(PID.TID 0009.0001) %MON exf_vstress_min              =  -3.0823807849958E-01
(PID.TID 0009.0001) %MON exf_vstress_mean             =  -1.2147258620202E-01
(PID.TID 0009.0001) %MON exf_vstress_sd               =   5.8474910958102E-02
(PID.TID 0009.0001) %MON exf_vstress_del2             =   1.3221275495875E-04
(PID.TID 0009.0001) %MON exf_hflux_max                =   1.5628597119630E+03
(PID.TID 0009.0001) %MON exf_hflux_min                =  -1.7681632424630E+01
(PID.TID 0009.0001) %MON exf_hflux_mean               =   8.2366859715691E+02
(PID.TID 0009.0001) %MON exf_hflux_sd                 =   3.9566688709215E+02
(PID.TID 0009.0001) %MON exf_hflux_del2               =   2.0002179009892E+00
(PID.TID 0009.0001) %MON exf_sflux_max                =   4.5108580096032E-07
(PID.TID 0009.0001) %MON exf_sflux_min                =   2.8208271059353E-08
(PID.TID 0009.0001) %MON exf_sflux_mean               =   2.4964855882172E-07
(PID.TID 0009.0001) %MON exf_sflux_sd                 =   1.0600689104328E-07
(PID.TID 0009.0001) %MON exf_sflux_del2               =   5.9105201446377E-10
(PID.TID 0009.0001) %MON exf_uwind_max                =   8.8566970825195E+00
(PID.TID 0009.0001) %MON exf_uwind_min                =  -7.9116115570068E+00
(PID.TID 0009.0001) %MON exf_uwind_mean               =   2.3978697541493E-01
(PID.TID 0009.0001) %MON exf_uwind_sd                 =   4.0384389684366E+00
(PID.TID 0009.0001) %MON exf_uwind_del2               =   1.3303219920841E-02
(PID.TID 0009.0001) %MON exf_vwind_max                =   3.4251434803009E+00
(PID.TID 0009.0001) %MON exf_vwind_min                =  -1.1955350875854E+01
(PID.TID 0009.0001) %MON exf_vwind_mean               =  -7.5552961860407E+00
(PID.TID 0009.0001) %MON exf_vwind_sd                 =   2.1101240583845E+00
(PID.TID 0009.0001) %MON exf_vwind_del2               =   1.8706120199835E-02
(PID.TID 0009.0001) %MON exf_wspeed_max               =   1.3311373863265E+01
(PID.TID 0009.0001) %MON exf_wspeed_min               =   1.6673359174472E+00
(PID.TID 0009.0001) %MON exf_wspeed_mean              =   8.6431528793835E+00
(PID.TID 0009.0001) %MON exf_wspeed_sd                =   1.7881608986738E+00
(PID.TID 0009.0001) %MON exf_wspeed_del2              =   2.0036800095167E-02
(PID.TID 0009.0001) %MON exf_swflux_max               =   0.0000000000000E+00
(PID.TID 0009.0001) %MON exf_swflux_min               =  -1.4898089802530E+02
(PID.TID 0009.0001) %MON exf_swflux_mean              =  -1.2045970705055E+02
(PID.TID 0009.0001) %MON exf_swflux_sd                =   8.1980291214550E+00
(PID.TID 0009.0001) %MON exf_swflux_del2              =   2.6585185449808E-01
(PID.TID 0009.0001) %MON exf_evap_max                 =   4.5108580096032E-07
(PID.TID 0009.0001) %MON exf_evap_min                 =   2.8208271059353E-08
(PID.TID 0009.0001) %MON exf_evap_mean                =   2.4964855882172E-07
(PID.TID 0009.0001) %MON exf_evap_sd                  =   1.0600689104328E-07
(PID.TID 0009.0001) %MON exf_evap_del2                =   5.9105201446377E-10
(PID.TID 0009.0001) %MON exf_climsst_max              =   2.3778386943870E+01
(PID.TID 0009.0001) %MON exf_climsst_min              =   2.4945521631727E+00
(PID.TID 0009.0001) %MON exf_climsst_mean             =   1.5738991413616E+01
(PID.TID 0009.0001) %MON exf_climsst_sd               =   5.8569127839436E+00
(PID.TID 0009.0001) %MON exf_climsst_del2             =   5.6161377933110E-03
(PID.TID 0009.0001) %MON exf_climsss_max              =   3.4859996445974E+01


but the exf_hflux is apparently not what I input into the model , it is much larger (1.5628597119630E+03) .
3) I did not input a 'evap' file in data.exf , why there is evap in the STDOUT file ? I only made the input file 'sflux'=evap-precip in the data.exf  ,but I find that  in the EXF_OPTIONS.h ,there are "# define runoff "and "# define evap"  selections, but not" # define sflux " . if I want to use 'sflux'=evap-precip ,not respectively" evap" file and "precip" file ,what should I modify in the EXF_OPTIONS.h ?
my EXF_OPTIONS.h  and data.exf ,data files are as follows:


EXF_OPTIONS.h  :
C   Bulk formulae related flags.
#undef  ALLOW_ATM_TEMP
#define  ALLOW_ATM_WIND
#define  ALLOW_DOWNWARD_RADIATION
#define  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.
#define 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 */


data.exf file :
# External Forcing Data
# *********************
 &EXF_NML_01
#
 useExfCheckRange  = .FALSE.,
# repeatPeriod      = 31622400.0,
 exf_iprec         = 32,
#
 &


# *********************
 &EXF_NML_02
#
 hfluxstartdate1   = 20130101,
 hfluxstartdate2   = 000000,
 hfluxperiod       = 432000.0,
#
 sfluxstartdate1   = 20130101,
 sfluxstartdate2   = 000000,
 sfluxperiod       = 432000.0,
#
#evapstartdate1    = 19781216,
#evapstartdate2    = 180000,
#evapperiod        = 2635200.0,
#
 precipstartdate1  = 19781216,
 precipstartdate2  = 180000,
 precipperiod      = 2635200.0,
#
 uwindstartdate1   = 20130101,
 uwindstartdate2   = 000000,
 uwindperiod       = 432000.0,
#
 vwindstartdate1   = 20130101,
 vwindstartdate2   = 000000,
 vwindperiod       = 432000.0,
#
 swfluxstartdate1  = 20130101,
 swfluxstartdate2  = 000000,
 swfluxperiod      = 432000.0,
#
 climsststartdate1  = 20130101,
 climsststartdate2  = 000000,
 climsstperiod      = 432000.0,
 climsstTauRelax    = 43200.0,
#
 climsssstartdate1  = 20130101,
 climsssstartdate2  = 000000,
 climsssperiod      = 432000.0,
 climsssTauRelax    = 43200.0,
#
 hfluxfile    = 'DASILVA_hflux.bin',
 swfluxfile   = 'DASILVA_swflux.bin ',
# sfluxfile   = 'ncep_emp.bin',
 climsstfile  = 'AVHRR_sst.bin',
 climsssfile  = 'WOA_sss.bin',
 uwindfile    = 'u10m.windsat2013',
 vwindfile    = 'v10m.windsat2013',
 sfluxfile    = 'GFDL_sflux.bin',
 &


data file:
# ====================
# | Model parameters |
# ====================
#
# Continuous equation parameters
 &PARM01
 tRef = 37*20.,
 sRef = 37*34.,
 viscAz=9.E-5,
 diffKzT=9.E-5,
 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.,
 implicitdiffusion=.TRUE.,
 implicitviscosity=.TRUE.,
 hFacMin=.1,
 readBinaryPrec=32,
 &


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


# Time stepping parameters
 &PARM03
 startTime =  0,
 endTime   =  864000,
 deltaT = 100.,
 abEps = 0.1,
 dumpFreq=   1000.,
 monitorFreq=1.,
 &


# Gridding parameters
 &PARM04
 usingSphericalPolarGrid=.TRUE.,
 delX=134*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='yswc_temp.bin',
 hydrogSaltFile= 'yswc_salt.bin',
 &


Any quick reply is greatly appreciated !
YOURS LI ZHI
BEST REGARDS !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20140427/ba668de5/attachment-0001.htm>


More information about the MITgcm-support mailing list