[MITgcm-devel] woes with exf interpolating

Menemenlis, Dimitris (3248) Dimitris.Menemenlis at jpl.nasa.gov
Sat Apr 3 15:14:04 EDT 2010


Matt, exf_interp assumes periodicity in zonal direction of input array and provides 2 overlaps on either side, which should be sufficient for bicubic, so I don't understand where discontinuity comes from.

C enlarge boundary
      do j=1,ny_in
       arrayin(0,j)       = arrayin(nx_in,j)
       arrayin(-1,j)      = arrayin(nx_in-1,j)
       arrayin(nx_in+1,j) = arrayin(1,j)
       arrayin(nx_in+2,j) = arrayin(2,j)
      enddo
      do i=-1,nx_in+2
       arrayin(i,0)       = arrayin(i,1)
       arrayin(i,-1)      = arrayin(i,1)
       arrayin(i,ny_in+1) = arrayin(i,ny_in)
       arrayin(i,ny_in+2) = arrayin(i,ny_in)
      enddo

A simple test would be to add one more overlap on each side of arrayin, and also to the related x_in and y_in, and see if it fixes problem.

Dimitris

On Apr 3, 2010, at 10:45 AM, Matthew Mazloff wrote:

> Hi JMC,
> 
> I copied it below -- I think its pretty standard.  Is there something  
> I'm missing in prescribing the forcing dimensions -- do I need to  
> manually provide an overlap, or provide overlap information?
> 
> Thanks
> Matt
> 
> 
> 
> login4% more data.exf
> # $Header: /u/gcmpack/MITgcm/verification/lab_sea/input/data.exf,v 1.7  
> 2004/07/11 06:21:44 dimitri Exp
>  $
> #
> # *********************
> # External Forcing Data
> # *********************
>  &EXF_NML_01
> #
>  useExfYearlyFields = .TRUE.,
>  useExfCheckRange = .FALSE.,
>  exf_iprec         = 32,
>  exf_yftype        = 'RL',
>  useRelativeWind   = .TRUE.,
>  /
> #
>  &EXF_NML_02
> #
>  atempstartdate1   = 20050101,
>  atempstartdate2   = 00000,
>  atempperiod       = 21600.0,
> #
>  aqhstartdate1     = 20050101,
>  aqhstartdate2     = 00000,
>  aqhperiod         = 21600.0,
> #
>  precipstartdate1  = 20050101,
>  precipstartdate2  = 00000,
>  precipperiod      = 21600.0,
> #
>  uwindstartdate1   = 20050101,
>  uwindstartdate2   = 00000,
>  uwindperiod       = 21600.0,
> #
>  vwindstartdate1   = 20050101,
>  vwindstartdate2   = 00000,
>  vwindperiod       = 21600.0,
> #
>  runoffstartdate1  = 20050101,
>  runoffstartdate2  = 00000,
>  runoffperiod      = 0.0,
> #
>  swdownstartdate1  = 20050101,
>  swdownstartdate2  = 00000,
>  swdownperiod      = 21600.0,
> #
>  lwdownstartdate1  = 20050101,
>  lwdownstartdate2  = 00000,
>  lwdownperiod      = 21600.0,
> #
>  atempfile         = 'SO6input/NCEP_R6_tmp2m_degC_SO',
>  aqhfile           = 'SO6input/NCEP_R6_spfh2m_SO',
>  uwindfile         = 'SO6input/NCEP_R6_u10m_SO',
>  vwindfile         = 'SO6input/NCEP_R6_v10m_SO',
>  precipfile        = 'SO6input/NCEP_R6_rain_SO_DT',
>  runoffFile        = 'SO6input/run-off_SO.6',
>  lwdownfile        = 'SO6input/NCEP_R6_dlw_SO',
>  swdownfile        = 'SO6input/NCEP_R6_dsw_SO',
> #
>  /
> #
>  &EXF_NML_03
> #
>  exf_inscal_uwind = 1.,
>  exf_inscal_vwind = 1.,
>  exf_inscal_runoff = 3.170979198E-8,
>  exf_offset_atemp = 273.15,
> #
>  /
> #
>  &EXF_NML_04
> #
>  atemp_lon0       = 0.5D0,
>  atemp_lon_inc     = 1.D0,
>  atemp_lat0        = -79.5D0,
>  atemp_lat_inc     = 60*1.D0,
>  atemp_nlon        = 360,
>  atemp_nlat        = 60,
> #
>  aqh_lon0          = 0.5D0,
>  aqh_lon_inc       = 1.D0,
>  aqh_lat0          = -79.5D0,
>  aqh_lat_inc       = 60*1.D0,
>  aqh_nlon          = 360,
>  aqh_nlat          = 60,
> #
>  precip_lon0       = 0.5D0,
>  precip_lon_inc    = 1.D0,
>  precip_lat0       = -79.5D0,
>  precip_lat_inc    = 60*1.D0,
>  precip_nlon       = 360,
>  precip_nlat       = 60,
> #
>  uwind_lon0         = 0.5D0,
>  uwind_lon_inc      = 1.D0,
>  uwind_lat0         = -79.5D0,
>  uwind_lat_inc      = 60*1.D0,
>  uwind_nlon         = 360,
>  uwind_nlat         = 60,
> #
>  vwind_lon0         = 0.5D0,
>  vwind_lon_inc      = 1.D0,
>  vwind_lat0         = -79.5D0,
>  vwind_lat_inc      = 60*1.D0,
>  vwind_nlon         = 360,
>  vwind_nlat         = 60,
> #
>  swdown_lon0          = 0.5D0,
>  swdown_lon_inc       = 1.D0,
>  swdown_lat0          = -79.5D0,
>  swdown_lat_inc       = 60*1.D0,
>  swdown_nlon          = 360,
>  swdown_nlat          = 60,
> #
>  lwdown_lon0          = 0.5D0,
>  lwdown_lon_inc       = 1.D0,
>  lwdown_lat0          = -79.5D0,
>  lwdown_lat_inc       = 60*1.D0,
>  lwdown_nlon          = 360,
>  lwdown_nlat          = 60,
> #
>  /
> #
>  &EXF_NML_OBCS
> #
>  obcsNstartdate1     = 20050101,
>  obcsNstartdate2     = 00000,
>  obcsNperiod         = 2635200.0,
> #
>  /
> 
> 
> 
> On Apr 3, 2010, at 7:07 AM, Jean-Michel Campin wrote:
> 
>> Hi Matt,
>> 
>> Could you send also the "data.exf" you are using ? or could I find it
>> somewhere ?
>> Thanks,
>> Jean-Michel
>> 
>> On Fri, Apr 02, 2010 at 03:17:51PM -0700, Matthew Mazloff wrote:
>>> Hello,
>>> 
>>> A problem has been found (thanks Fabien!) regarding a discontinuity  
>>> in
>>> the wind fields around longitude 0/360.
>>> 
>>> My set-up is 1/6 of a degree and I use NCEP on a 1 degree grid and  
>>> use
>>> exf interpolation.  Within ~1 degree east and west of longitude 0  
>>> there
>>> is a discontinuity in the wind field -- it is small but quite
>>> significant in the x-derivative.  My guess is that the interpolation
>>> routine is not properly accounting for periodicity -- and instead
>>> perhaps incorporating zeros.
>>> 
>>> Some important stuff -- I am using NCEP winds -- not stress -- and I
>>> have switched to interp_method=2 instead of the hard-coded
>>> interp_method=1.  This is because with interp_method 1 (linear) there
>>> are discontinuities in the wind-stress curl everywhere.  With bicubic
>>> interp the curl is smooth -- with this exception around longitude 0
>>> 
>>> I was hoping someone with more expertise could shed light on this  
>>> before
>>> I go digging in the code
>>> 
>>> Thanks!
>>> -Matt
>>> 
>>> 
>>> _______________________________________________
>>> MITgcm-devel mailing list
>>> MITgcm-devel at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>> 
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> 
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list