[MITgcm-support] "something wrong with exf "

Martin Losch Martin.Losch at awi.de
Mon Apr 28 06:09:16 EDT 2014


Dear Li Zhi,

with your flags, the model expects downwards radiation fluxes:
#define  ALLOW_DOWNWARD_RADIATION
and computes the fluxes from those (also because of #define  ALLOW_ATM_WIND)

In pkg/exf/EXF_OPTIONS.h there is a table of sensible combinations of CPP-flags.

I think you need to undefine ALLOW_DOWNWARD_RADIATION (that’s the 3rd option the aforementioned table).

Martin


On Apr 27, 2014, at 2:46 PM, 李志远 <oceanlizy at 163.com> wrote:

> 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 !
> 
> 
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list