Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESMF 3D regridder #110

Open
dnadeau4 opened this issue Mar 30, 2017 · 9 comments
Open

ESMF 3D regridder #110

dnadeau4 opened this issue Mar 30, 2017 · 9 comments
Assignees
Milestone

Comments

@dnadeau4
Copy link
Contributor

dnadeau4 commented Mar 30, 2017

Hi Ryan,

I got all the 2D working and I was able to run your 3D example. (test_grid_grid_regrid_csrv_mask_3D)
My grid is an ocean grid starting 300x360 degrees and 50 levels in depth.

The input grid longitudes are shifted from +80 degrees to 360 and then from 0 to 79.5 degrees.

    [  80.5   81.5   82.5 ... 358.5  359.5  0.5   ... 79.5]

I am trying to interpolate to a smaller grid (47,72) (-180,180 degree grid) and adding the same 50 levels. I tried, SPH_DEG, CART and non-periodic grids, without success. As I mentioned it worked in 2D.

I think that the "corner_vface" setting is the challenge for me here. 2D works fine just using surface data, but 3D is problematic.

If you can make this work "natively", I will integrate your work into our CDMS package.

Here are the file I used for grids...

Variable: so (salinity ocean, data value range 0-37, 3D grid)
so_Omon_ACCESS1-0_historical_r1i1p1_185001-185412_2timesteps.nc

Variable: clt (Total Cloudiness to extract the destination grid)

clt.nc

On 3/21/17 9:57 AM, Ryan OKuinghttons - NOAA Affiliate wrote:

Hi Denis, have you made any progress on this ticket? I just want to check on the current status before I spend time trying to reproduce your issue.

Ryan

On Thu, Mar 9, 2017 at 2:07 PM, Denis Nadeau nadeau1@llnl.gov wrote:

Ok Thanks,  I set the same grid to Source and Destination in this example.  It works well with BILINEAR.  I will submit at esmf_support next time.  :-)
Thanks for answering.
Denis


On 3/9/17 12:26 PM, Ryan OKuinghttons - NOAA Affiliate wrote:
Hi Denis, I won't have time to look into this in detail today, but I can tell you that the error you are seeing is usually indicative of cases where there are non-overlapping domains. I have often see this with regional grids, and but I can imagine it happening with 3d grids as well. If you are certain that your domains are defined correctly, and should not be overlapping, you can silence this error by using the `unmapped_action=UnmappedAction.IGNORE` option when initializing your Regrid object. This flag is provided to handle the cases mentioned above (i.e. regional grids) where the domain is non-overlapping.

Also, in future when sending questions about ESMPy, please CC esmf_support@list.woc.noaa.gov. That allows others in the team to see and respond to your message in the event that I am out of the office. Thanks!

Ryan

On Thu, Mar 9, 2017 at 12:51 PM, Denis Nadeau <nadeau1@llnl.gov> wrote:



    Forget to send you he ERROR message.   I am puzzle by Destination id=1
    NOT found....

    Thanks!
    Denis
        20170309 114623.711 INFO             PET0 Running with ESMF Version 7.0.0
        20170309 114625.650 ERROR            PET0 Destination id=1 NOT found in
        weight matrix.
        20170309 114625.650 ERROR            PET0 ESMCI_Mesh_Regrid_Glue.C:248
        c_esmc_regrid_create() Arguments are incompatible  - - There exist
        destination cells (e.g. id=1) which don't overlap with any source cell
        20170309 114625.650 ERROR            PET0 ESMCI_Mesh_Regrid_Glue.C:460
        c_esmc_regrid_create() Arguments are incompatible  - Internal subroutine
        call returned Error
        20170309 114625.650 ERROR            PET0
        /feedstock_root/build_artefacts/recipe_root_1481799804050/work/esmf/src/Infrastructure/Mesh/src/ESMCI_MeshCap.C:514
        MeshCap::regrid_create() Arguments are incompatible  - Internal
        subroutine call returned Error
        20170309 114625.650 ERROR            PET0 ESMF_Regrid.F90:342
        ESMF_RegridStore Arguments are incompatible  - Internal subroutine call
        returned Error
        20170309 114625.650 ERROR            PET0 ESMF_FieldRegrid.F90:1163
        ESMF_FieldRegridStoreNX Arguments are incompatible  - Internal
        subroutine call returned Error
        20170309 114625.650 ERROR            PET0 ESMF_Field_C.F90:936
        f_esmf_regridstore Arguments are incompatible  - Internal subroutine
        call returned Error
        20170309 114625.650 ERROR            PET0 ESMCI_Field.C:1360
        ESMCI::Field::regridstore() Arguments are incompatible  - Internal
        subroutine call returned Error
        20170309 114625.650 ERROR            PET0 ESMC_Field.C:424
        ESMC_FieldRegridStore() Arguments are incompatible  - Internal
        subroutine call returned Error
    On 3/9/17 11:44 AM, Denis Nadeau wrote:

        Hi Ryan,

        I was hoping you can help me on this ESMF issue.

        I have updated CDMS to ESMPy integrating ESMF version 7.0.0 and I have
        started to run my regression test.  I have a very strange problem with
        3D data using CONSERVE regridd method.  I translated the API and was
        able to convert/pass one test that came to ESMF 7.0.0 with CDMS (2D
        grid).  Do you know if there is a problem with ESMF regrinding 3D data?

        Here is the code (test2_3D_Native_Conserve), I really don't know what
        more to do right now,  I have tried many ways.... You will see that I
        hacked the data a lot to make up something easy to understand.

        https://github.com/UV-CDAT/cdms/blob/esmpy/Test/testEsmf3DSmallesmf.py#L236-L366


        Denis
@durack1
Copy link
Member

durack1 commented Mar 30, 2017

@dnadeau4 3D regridding would be unreal!

@doutriaux1
Copy link
Contributor

@durack1 we can easily produce unreal data if that's all you need 😜 !

@durack1
Copy link
Member

durack1 commented Mar 30, 2017

@doutriaux1 I'd prefer high quality regridded data if possible..

@doutriaux1
Copy link
Contributor

@durack1 as long as you don't need robust we should be good.

@durack1
Copy link
Member

durack1 commented Mar 30, 2017

@doutriaux1 what are you talking about? With all the test suite porting and implementation, ROBUST is what you're delivering!

@jypeter
Copy link
Member

jypeter commented Mar 31, 2017

What we also need is user-proof regridding! Especially something that is not to greedy (not griddy) for memory, which can be troublesome on a multi-user server.

By the way, the subject being ESMF 3D regridder, are we talking of EMSPY? Is CDAT/cdat#1954 going to be solved now? I have tried to install ESMPY with conda in 2.8.0. It did not report any error, but failed when I tried to import it

@doutriaux1 doutriaux1 modified the milestone: 3.0 May 5, 2017
@dnadeau4
Copy link
Contributor Author

@jypeter ESMF is working on 2.10 with the latest 7.0.0 version. The Memory leak has become a high priority of my tasks for CDMS.

@jypeter
Copy link
Member

jypeter commented May 19, 2017

Thanks @dnadeau4 ! But are we talking of ESMF or ESMPy. I'm a bit confused about the difference between the 2

@dnadeau4
Copy link
Contributor Author

@jypeter esmpy is a wrapper around ESMF 7.0.0. The old python wrapper was called ESMP and was also using ESMF but version 6.3.0rp1 and was part of the same package (embedded). I changed all the CDMS calls with the latest API from ESMPy/ESMF 7.0.0.

esmf                      7.0.0                         6    conda-forge
esmpy                     7.0.0                    py27_1    conda-forge

ESMP was the python wrapper for ESMF 6.3.0rp1. Both packages came together.

esmp                      .  ESMF_6_3_0rp1_ESMP_01          py27_0  conda-forge     

@doutriaux1 doutriaux1 modified the milestones: 3.0, 3.1 Mar 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants