[ncl-talk] Is it possible optimizing the performance of the NCL program via parallel processing?
Dennis Shea
shea at ucar.edu
Tue Feb 14 21:18:22 MST 2017
You did not indicate what you are using inside the procedure(s).
[1] What are you using to regrid?
[2] Are you regridding each day?
[3] If the grid structure is consistent, use ESMF regridding to generate a
single weight file. The weight file (*ESMF_regrid_with_weights*
<http://www.ncl.ucar.edu/Document/Functions/ESMF/ESMF_regrid_with_weights.shtml>)
can be used to to regrid an entire array (time,lev,lat,lon). It is *VERY*
fast. No 'do loop'
f = addfiles("...","r")
temp = f[:]->TEMP ; (time,lev,lat,lon)
sal = f[:]->SALINITY
Oce_temp_regrid = ESMF_regrid_with_weights(temp,wgt_filename,False) ;
(time,lev,LAT,LON)
Oce_sal_regrid = ESMF_regrid_with_weights(sal ,wgt_filename,False)
----
**NOTE: *** If the above does not address the problem ...
The following was recently posted to the Applications page:
http://www.ncl.ucar.edu/Applications/task_parallelism.shtml
Perhaps your script would have to be rearranged.
One approach: for each day, the suite of procedures could be could be sent
to a different processor.
On Tue, Feb 14, 2017 at 4:16 PM, Francesco Trotta <
francesco.trotta4 at unibo.it> wrote:
> Dear Ncl
> I'm using NCL - version 6.3.0.
> I’m using a computer with multiple cores and
> I would like to optimizing the performance of my NCL code via parallel
> processing.
>
> In particular the part of my script which is very time consuming and I
> would like to improve is this:
>
> ;======================================
> iday=-1
> SpatialInterpTemp(iday,date_less1,file_indataOce_temp_
> less1,file_extrapdataOce_temp_less1, \
> file_regriddataOce_temp_less1)
> SpatialInterpSal(iday,date_less1,file_indataOce_sal_
> less1,file_extrapdataOce_sal_less1, \
> file_regriddataOce_sal_less1)
> SpatialInterpSsh(iday,date_less1,file_indataOce_ssh_
> less1,file_extrapdataOce_ssh_less1, \
> file_regriddataOce_ssh_less1)
> SpatialInterpVelU(iday,date_less1,file_indataOce_velU_
> less1,file_extrapdataOce_velU_less1, \
> file_regriddataOce_velU_less1)
> SpatialInterpVelV(iday,date_less1,file_indataOce_velV_
> less1,file_extrapdataOce_velV_less1, \
> file_regriddataOce_velV_less1)
>
> do iday=0,ndays-1
>
> SpatialInterpTemp(iday,date(iday),file_indataOce_temp(
> iday),file_extrapdataOce_temp(iday), \
> file_regriddataOce_temp(iday))
> SpatialInterpSal(iday,date(iday),file_indataOce_sal(iday),file_extrapdataOce_sal(iday),
> \
> file_regriddataOce_sal(iday))
> SpatialInterpSsh(iday,date(iday),file_indataOce_ssh(iday),file_extrapdataOce_ssh(iday),
> \
> file_regriddataOce_ssh(iday))
> SpatialInterpVelU(iday,date(iday),file_indataOce_velU(
> iday),file_extrapdataOce_velU(iday), \
> file_regriddataOce_velU(iday))
> SpatialInterpVelV(iday,date(iday),file_indataOce_velV(
> iday),file_extrapdataOce_velV(iday), \
> file_regriddataOce_velV(iday))
>
> end do
> ;======================================
>
> Is there a way to do this optimization with ncl?
>
> Thanks
> Francesco
>
>
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170214/aa5e2c6f/attachment.html
More information about the ncl-talk
mailing list