[MITgcm-support] EXF
小平翼
kodaira at edu.k.u-tokyo.ac.jp
Mon Dec 11 05:33:35 EST 2017
Hello Martin,
I highly appreciate your response. What I did so far are
1. 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
2. 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.
3. 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.
4. 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
///////////////////////////////////////////////
////////////////////////////////////////////////////////
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20171211/5623c7ce/attachment-0001.html>
More information about the MITgcm-support
mailing list