[MITgcm-support] EXF

小平翼 kodaira at edu.k.u-tokyo.ac.jp
Fri Dec 15 08:20:48 EST 2017


Hi Martin,

Following your suggestion, the problem was totally solved.
I haven’t needed to use the NOOPTFLAGS, but it is quite helpful in future.

Thank you so much,

Tsubasa

2017年12月11日(月) 22:24 Martin Losch <Martin.Losch at awi.de>:

> Hi Tsubasa,
>
> so it was a compiler problem? That’s not unusual at all. In your build
> options file, you can set the following two flags: NOOPTFLAGS and
> NOOPTFILES. For example, in the default linux_amd64_ifort (in
> tools/build_options), they are set to
>
> NOOPTFLAGS='-O0 -g'
> NOOPTFILES=‘'
>
> but you could set them in your optfile to
> NOOPTFLAGS='-OXXX'
> NOOPTFILES=‘exf_interpolation.f’
> where XXX should be the optimization level that works for you (remember to
> regenerate the makefile: make makefile && make depend) before compilation.
>
> Martin
>
>
>
>
> > On 11. Dec 2017, at 13:53, 小平翼 <kodaira at edu.k.u-tokyo.ac.jp> wrote:
> >
> > Hi Martin,
> >
> > I was also thinking about the compiler problem. I have used ifort based
> compiler for a HPC. When I changed to gcc, it worked without any problem. I
> visually confirmed the atmospheric forcing field is surely interpolated to
> model grids.
> >
> > Many thanks for your help.
> >
> > I may also test several different compiler option for ifort and post if
> I find something helpful for MITgcm users.
> >
> > Best,
> >
> > Tsubasa
> >
> > 2017-12-11 21:44 GMT+09:00 Martin Losch <Martin.Losch at awi.de>:
> > Hi again,
> >
> > I am not sure what’s happening. Can you try with compiler optimization
> turned off?
> >
> > If that fails, maybe I can try to reproduce your problem if you send me
> your configuration (code and input directory, but without any big files,
> please, just the namelist files) maybe a short python script to generate
> your domain and your forcing fields (with constant values).
> >
> > Martin
> >
> >
> > > On 11. Dec 2017, at 11:33, 小平翼 <kodaira at edu.k.u-tokyo.ac.jp> wrote:
> > >
> > > Hello Martin,
> > >
> > > I highly appreciate your response. What I did so far are
> > >       • Forcing the model with realistic 5km high resolution
> atmospheric forcing (MSM, Japan Meteorological Agency) with the on-the-fly
> interpolation ---> model blew up and noticed EXF monitor part shows strange
> value
> > >       • Forcing the model with the model with only atmospheric
> temperature set to constant (300). The grid size of the input atmospheric
> data is the same as 1.
> > >       • Checking the results with diagnostic package ---> When I
> visualized the output (atemp) , it seems (i) land mask working properly
> (ii) the figure doesn't show any organized pattern. so many unnatural
> stripes.
> > >       • Going down to the codes: looking at exf_interp.F and
> exp_interpolate.F ---> I didn't fully understand the code yet, but I feel
> following part for the bilinear interpolation possibly increase the atemp
> value 4 times larger if LAGRAN external function return ones for some
> reason.
> > >
> > >            DO k=1,2
> > >             ew_val(k) = arrayin(w_ind(i,j)  ,s_ind(i,j)+k-1)
> > >      &                    *LAGRAN(1,xG(i,j,bi,bj),px_ind,sp)
> > >      &                + arrayin(w_ind(i,j)+1,s_ind(i,j)+k-1)
> > >      &                    *LAGRAN(2,xG(i,j,bi,bj),px_ind,sp)
> > >             arrayout(i,j,bi,bj) = arrayout(i,j,bi,bj)
> > >      &         + ew_val(k)*LAGRAN(k,yG(i,j,bi,bj),py_ind,sp)
> > >            ENDDO
> > > I should mention that I originally prepared interpolated atmospheric
> forcing file and run the model without on-the-fly function. It seemed to
> work as I wished. It however require a lot of time to interpolate the field
> using scipy.interpolate.griddata in python. This is why I wanted to use
> on-the-fly function.
> > >
> > > The reason why I used high-resolution atmospheric forcing is because I
> plan to use MITgcm for coastal short-time scale processes such as tides and
> surges with grid resolution about 1km. I have tried to automate creating
> input files for MITgcm to use the model with multiple study areas.
> > >
> > > Best,
> > >
> > > 2017-12-11 18:44 GMT+09:00 Martin Losch <Martin.Losch at awi.de>:
> > > Hi Tsubasa,
> > > I don’t see anything obviously wrong in your data.exf. I forgot to ask
> for the EXF_OPTIONS.h file, but I assume that you have set
> USE_EXF_INTERPOLATION, etc.
> > >
> > > This is what I would do:
> > > write (all) your interpolated exf forcing fields to disk for your
> first timestep using the diagnostics package (i.e. data.diagnostics) and
> see if the patterns in the interpolated fields tell you something. If you
> haven’t used the diagnostics package yet, it’s a good time to learn how to
> use it.
> > >
> > > I find it very puzzling that your min/max temperatuers are exactly
> 600/1200. Do I understand you correctly, that you input field is constant
> at 300K?
> > >
> > > I have a principle question: your forcing data grid appears very fine
> (atemp_lon_inc = 0.0625). What is your model grid resolution, that you want
> such a high grid resolution for the forcing? Typically one would use the
> interpolation to interpolate from coarse forcing data grids to a high
> resolution model grid in order to avoid storing the forcing on the high
> resolution grid.
> > >
> > > Martin
> > >
> > > > On 11. Dec 2017, at 09:49, 小平翼 <kodaira at edu.k.u-tokyo.ac.jp> wrote:
> > > >
> > > > Hello Martin,
> > > >
> > > > I copied and pasted my data.exf below. The atmospheric temperature
> field (atemp) of my input file for EXF package  was intentionally set to
> 300 K for a test.  When I set the realistic temperature fields, the max/min
> values are similar (i.e., about 1200/600). The wind velocity is also
> strange, showing more than 100.
> > > >
> > > > Best,
> > > >
> > > > Tsubasa
> > > >
> > > >
> > > > # *********************
> > > > # External Forcing Data
> > > > # *********************
> > > >  &EXF_NML_01
> > > > # useExfCheckRange  = .TRUE.,
> > > >  useExfCheckRange  = .FALSE.,
> > > > # readStressOnCgrid = .TRUE.,
> > > >  repeatPeriod      = 0,
> > > >  exf_iprec         = 64,
> > > >  &
> > > >
> > > > # *********************
> > > >  &EXF_NML_02
> > > > #
> > > > # hfluxstartdate1   = 20170901,
> > > > # hfluxstartdate2   = 000000,
> > > > # hfluxperiod       = 3600.0,
> > > > #
> > > > # sfluxstartdate1   = 20170901,
> > > > # sfluxstartdate2   = 000000,
> > > > # sfluxperiod       = 3600.0,
> > > > #
> > > > # ustressstartdate1 = 20170901,
> > > > # ustressstartdate2 = 000000,
> > > > # ustressperiod     = 3600.0,
> > > > #
> > > > # vstressstartdate1 = 20170901,
> > > > # vstressstartdate2 = 000000,
> > > > # vstressperiod     = 3600.0,
> > > > #
> > > >  atempstartdate1   = 20170901,
> > > >  atempstartdate2   = 000000,
> > > >  atempperiod       = 3600.0,
> > > >
> > > > # apressurestartdate1 =
> > > > # apressurestartdate2 =
> > > > # apressureperiod     =
> > > >
> > > >  aqhstartdate1     = 20170901,
> > > >  aqhstartdate2     = 000000,
> > > >  aqhperiod         = 3600.0,
> > > > #
> > > > #evapstartdate1    = 20170901,
> > > > #evapstartdate2    = 000000,
> > > > #evapperiod        = 3600.0,
> > > > #
> > > >  precipstartdate1  = 20170901,
> > > >  precipstartdate2  = 000000,
> > > >  precipperiod      = 3600.0,
> > > > #
> > > >  uwindstartdate1   = 20170901,
> > > >  uwindstartdate2   = 000000,
> > > >  uwindperiod       = 3600.0,
> > > > #
> > > >  vwindstartdate1   = 20170901,
> > > >  vwindstartdate2   = 000000,
> > > >  vwindperiod       = 3600.0,
> > > > #
> > > > # swfluxstartdate1  = 20170901,
> > > > # swfluxstartdate2  = 000000,
> > > > # swfluxperiod      = 3600.0,
> > > > #
> > > > # lwfluxstartdate1  = 20170901,
> > > > # lwfluxstartdate2  = 000000,
> > > > # lwfluxperiod      = 3600.0,
> > > > #
> > > >  swdownstartdate1  = 20170901,
> > > >  swdownstartdate2  = 000000,
> > > >  swdownperiod      = 86400.0,
> > > > #
> > > >  lwdownstartdate1  = 20170901,
> > > >  lwdownstartdate2  = 000000,
> > > >  lwdownperiod      = 86400.0,
> > > > #
> > > > # climsststartdate1  = 20170901,
> > > > # climsststartdate2  = 000000,
> > > > # climsstperiod      = 3600.0,
> > > > # climsstTauRelax    = 0.0,
> > > > #
> > > > # climsssstartdate1  = 20170901,
> > > > # climsssstartdate2  = 000000,
> > > > # climsssperiod      = 3600.0,
> > > > # climsssTauRelax    = 0.0,
> > > > #
> > > > # hfluxfile         = 'hsbc.bin',
> > > >  hfluxfile         = ' ',
> > > >  sfluxfile         = ' ',
> > > >  ustressfile       = ' ',
> > > >  vstressfile       = ' ',
> > > >  atempfile         = './20170901/temp.surf',
> > > >  aqhfile           = './20170901/rh.surf',
> > > >  uwindfile         = './20170901/u.surf',
> > > >  vwindfile         = './20170901/v.surf',
> > > >  evapfile          = ' ',
> > > > # apressurefile     = './20170901/psea.surf'
> > > >  precipfile        = './20170901/r1h.surf',
> > > >  lwfluxfile        = ' ',
> > > >  swfluxfile        = ' ',
> > > >  lwdownfile        = './20170901/dlwrf.surf',
> > > >  swdownfile        = './20170901/dswrf.surf',
> > > >  runoffFile        = ' '
> > > >  climsstfile       = ' ',
> > > >  climsssfile       = ' ',
> > > > #
> > > >  &
> > > >
> > > > # *********************
> > > >  &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
> > > >  atemp_lon0      = 124.0,
> > > >  atemp_lon_inc   = 0.0625,
> > > >  atemp_lat0      = 22.45,
> > > >  atemp_lat_inc   = 400*0.05,
> > > >  atemp_nlon      = 401,
> > > >  atemp_nlat      = 401,
> > > >  aqh_lon0      = 124.0,
> > > >  aqh_lon_inc   = 0.0625,
> > > >  aqh_lat0      = 22.45,
> > > >  aqh_lat_inc   = 400*0.05,
> > > >  aqh_nlon      = 401,
> > > >  aqh_nlat      = 401,
> > > >  precip_lon0      = 124.0,
> > > >  precip_lon_inc   = 0.0625,
> > > >  precip_lat0      = 22.45,
> > > >  precip_lat_inc   = 400*0.05,
> > > >  precip_nlon      = 401,
> > > >  precip_nlat      = 401,
> > > >  uwind_lon0      = 124.0,
> > > >  uwind_lon_inc   = 0.0625,
> > > >  uwind_lat0      = 22.45,
> > > >  uwind_lat_inc   = 400*0.05,
> > > >  uwind_nlon      = 401,
> > > >  uwind_nlat      = 401,
> > > >  vwind_lon0      = 124.0,
> > > >  vwind_lon_inc   = 0.0625,
> > > >  vwind_lat0      = 22.45,
> > > >  vwind_lat_inc   = 400*0.05,
> > > >  vwind_nlon      = 401,
> > > >  vwind_nlat      = 401,
> > > >  swdown_lon0      = 114.375,
> > > >  swdown_lon_inc   = 1.875,
> > > >  swdown_lat0      = 12.3808,
> > > >  swdown_lat_inc   = 1.9047,
> > > >  swdown_nlon      = 16,
> > > >  swdown_nlat      = 14,
> > > >  lwdown_lon0      = 114.375,
> > > >  lwdown_lon_inc   = 1.875,
> > > >  lwdown_lat0      = 12.3808,
> > > >  lwdown_lat_inc   = 1.9047,
> > > >  lwdown_nlon      = 16,
> > > >  lwdown_nlat      = 14,
> > > >  &
> > > >
> > > > # *********************
> > > >  &EXF_NML_OBCS
> > > >  obcsSstartdate1   = 20170901,
> > > >  obcsSstartdate2   = 000000,
> > > >  obcsSperiod       = 86400.0,
> > > > #
> > > >  obcsNstartdate1   = 20170901,
> > > >  obcsNstartdate2   = 000000,
> > > >  obcsNperiod       = 86400.0,
> > > > #
> > > >  obcsWstartdate1   = 20170901,
> > > >  obcsWstartdate2   = 000000,
> > > >  obcsWperiod       = 86400.0,
> > > > #
> > > >  obcsEstartdate1   = 20170901,
> > > >  obcsEstartdate2   = 000000,
> > > >  obcsEperiod       = 86400.0,
> > > > #
> > > > # siobSstartdate1   = 20170901,
> > > > # siobSstartdate2   = 000000,
> > > > # siobSperiod       = 86400.0,
> > > > #
> > > > # siobNstartdate1   = 20170901,
> > > > # siobNstartdate2   = 000000,
> > > > # siobNperiod       = 86400.0,
> > > > #
> > > > # siobWstartdate1   = 20170901,
> > > > # siobWstartdate2   = 000000,
> > > > # siobWperiod       = 86400.0,
> > > >  &
> > > >
> > > >
> > > >
> > > > 2017-12-11 17:42 GMT+09:00 Martin Losch <Martin.Losch at awi.de>:
> > > > Tsubasa,
> > > >
> > > > can you please provide your complete data.exf. Why would you have a
> min/max of 600/1200 K, what are the max/min of your input fields?
> > > > this is probably not related to the interpolation but rather to
> either your input files rr the settings in data.exf.
> > > >
> > > > Martin
> > > >
> > > > > On 11. Dec 2017, at 04:32, 小平翼 <kodaira at edu.k.u-tokyo.ac.jp>
> wrote:
> > > > >
> > > > > Hello all,
> > > > >
> > > > > I was trying to use EXF package with the on-the-fly function.
> Unfortuntately, it didn't work as I expected. The values are set much
> larger.  As a quick check, I set the atmospheric temperature fields as
> constant, 300. The monitor function however shows that the maximum of atemp
> is 4times larger and the mean is also 2 times larger, as follows.
> > > > >
> > > > > (PID.TID 1000.0001) %MON exf_atemp_max                =
>  1.2000000000000E+03
> > > > > (PID.TID 1000.0001) %MON exf_atemp_min                =
>  6.0000000000027E+02
> > > > > (PID.TID 1000.0001) %MON exf_atemp_mean               =
>  9.1028890280222E+02
> > > > > (PID.TID 1000.0001) %MON exf_atemp_sd                 =
>  1.7286119388930E+02
> > > > > (PID.TID 1000.0001) %MON exf_atemp_del2               =
>  3.4626736833088E-01
> > > > >
> > > > > I'm wondering I may be missing something.
> > > > > Any advice or help would be appreciated.
> > > > > Related part of the data.exf is following
> > > > >
> > > > > &EXF_NML_04
> > > > >  atemp_lon0      = 124.0,
> > > > >  atemp_lon_inc   = 0.25,
> > > > >  atemp_lat0      = 22.45,
> > > > >  atemp_lat_inc   = 100*0.2,
> > > > >  atemp_nlon      = 101,
> > > > >  atemp_nlat      = 101,
> > > > >
> > > > > Thank you,
> > > > >
> > > > > Tsubasa
> > > > > --
> > > > >
> > > > > _______________________________________________
> > > > > MITgcm-support mailing list
> > > > > 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
> > > >
> > > >
> > > >
> > > > --
> > > >
> ///////////////////////////////////////////////////////////////////////////////////////////////////////
> > > > 小平翼   助教、海洋技術環境学専攻、東大院新領域
> > > > 居室 〒277-8563 千葉県柏市柏の葉5-1-5  環境棟 214
> > > > Tsubasa Kodaira  (Ph.D),      Assistant Professor
> > > > Department of Ocean Technology, Policy and Environment
> > > > Graduate School of Frontier Sciences, The University of Tokyo
> > > > TEL 04-7136-4672,     E-mail kodaira at edu.k.u-tokyo.ac.jp
> > > >
> ///////////////////////////////////////////////////////////////////////////////////////////////////////
> > > >
> > > >
> > > > _______________________________________________
> > > > MITgcm-support mailing list
> > > > 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
> > >
> > >
> > >
> > > --
> > >
> ///////////////////////////////////////////////////////////////////////////////////////////////////////
> > > 小平翼   助教、海洋技術環境学専攻、東大院新領域
> > > 居室 〒277-8563 千葉県柏市柏の葉5-1-5  環境棟 214
> > > Tsubasa Kodaira  (Ph.D),      Assistant Professor
> > > Department of Ocean Technology, Policy and Environment
> > > Graduate School of Frontier Sciences, The University of Tokyo
> > > TEL 04-7136-4672,     E-mail kodaira at edu.k.u-tokyo.ac.jp
> > >
> ///////////////////////////////////////////////////////////////////////////////////////////////////////
> > >
> > >
> > > _______________________________________________
> > > MITgcm-support mailing list
> > > 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
> >
> >
> >
> > --
> >
> ///////////////////////////////////////////////////////////////////////////////////////////////////////
> > 小平翼   助教、海洋技術環境学専攻、東大院新領域
> > 居室 〒277-8563 千葉県柏市柏の葉5-1-5  環境棟 214
> > Tsubasa Kodaira  (Ph.D),      Assistant Professor
> > Department of Ocean Technology, Policy and Environment
> > Graduate School of Frontier Sciences, The University of Tokyo
> > TEL 04-7136-4672,     E-mail kodaira at edu.k.u-tokyo.ac.jp
> >
> ///////////////////////////////////////////////////////////////////////////////////////////////////////
> >
> >
> > _______________________________________________
> > MITgcm-support mailing list
> > 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
>
-- 
///////////////////////////////////////////////
////////////////////////////////////////////////////////
小平翼  助教、海洋技術環境学専攻、東大院新領域
居室 〒277-8563 千葉県柏市柏の葉5-1-5  環境棟 214
Tsubasa Kodaira  (Ph.D), Assistant Professor
Department of Ocean Technology, Policy and Environment
Graduate School of Frontier Sciences, The University of Tokyo
TEL 04-7136-4672, E-mail kodaira at edu.k.u-tokyo.ac.jp
///////////////////////////////////////////////
////////////////////////////////////////////////////////
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20171215/b92c2e60/attachment-0001.html>


More information about the MITgcm-support mailing list