geocryology / globsim

Using global reanalyses for permafrost simulation
GNU General Public License v3.0
19 stars 5 forks source link

JRA Interpolation does not work for small datasets #22

Open LuisGit9 opened 5 years ago

LuisGit9 commented 5 years ago

When JRA interpolation is attempted from a small JRA dataset (2 grids long, 1 grid lat), interpolation will fail with valid JRA dataset and valid globsim_interpolate and siteslist file with message:

== 2D: file without pressure levels
VAR:  Relative humidity
VAR:  Temperature
VAR:  u-component of wind
VAR:  v-component of wind
Traceback (most recent call last):
  File "globsim_interpolate.py", line 50, in <module>
    JRA = JRA, MERRA = MERRA)
  File "/home/luis/git_down/globsim/globsim_main.py", line 99, in GlobsimInterpolateStation
    JRAinterp.process()
  File "/home/luis/git_down/globsim/JRA.py", line 1410, in process
    varlist, date = self.date)
  File "/home/luis/git_down/globsim/JRA.py", line 1223, in JRA2station
    variables=None, date=None) 
  File "/home/luis/git_down/globsim/JRA.py", line 1106, in JRAinterp2D
    dst_mask_values=None)
  File "/usr/local/lib/python3.6/dist-packages/ESMF/util/decorators.py", line 64, in new_func
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/ESMF/api/regrid.py", line 166, in __init__
    dstFracField=dst_frac_field)
  File "/usr/local/lib/python3.6/dist-packages/ESMF/interface/cbindings.py", line 2016, in ESMP_FieldRegridStore
    '.    '+constants._errmsg)
ValueError: ESMC_FieldRegridStore() failed with rc = 6.    Please check the log files (named "*ESMF_LogFile").

Generated PET0.ESMF_LogFile notes that the ESMF regrid weight generation methods and applications do not currently work for source Fields created on Grids which contain a DE of width less than 2 elements. This is a known limitation of ESMF (see known bugs for ESMF_7_1_0_r at http://www.earthsystemmodeling.org/download/data/releases.shtml).

Can be reproduced with following parameters for JRA download in globsim_download file:

# area bounding box [decimal degrees]
bbN = 65
bbS = 64
bbW = -111
bbE = -109

# ground elevation range within area [m]
ele_min = 0
ele_max = 1000

# time slice [YYYY/MM/DD]
beg = 2000/01/01
end = 2018/10/31

# variables to download [CF Standard Name Table]
variables = air_temperature, relative_humidity, wind_speed, wind_from_direction, precipitation_amount, downwelling_shortwave_flux_in_air, downwelling_longwave_flux_in_air, downwelling_shortwave_flux_in_air_assuming_clear_sky, downwelling_longwave_flux_in_air_assuming_clear_sky

Suspect that ESMF needs more than one lat grid in order to generate weighting grid to interpolate with.

Problems seems to resolve when larger JRA dataset is used. Interpolation was successful with dataset obtained from download file using:

bbN = 66
bbS = 63
bbW = -112
bbE = -108
BinCAO-PF commented 5 years ago

Hi Luis, the globsim derives the time-series via interpolation (2D for single lelve dataset and 3D interpolation for pressure level). This means the reanalysis dataset, including JRA, should be large enough (4*4 grids) to make the interpolation possible. I would suggest you download larger dataset. Bests, Bin

========================================== Bin Cao Postdoctoral Fellow Department of Geography & Environmental Studies Carleton University Ottawa, K1S 5B6, Canada

Email: caobin198912@outlook.com

ORICD: https://orcid.org/0000-0003-2473-2276 https://orcid.org/0000-0003-2473-2276


From: Luis Padilla notifications@github.com Sent: Saturday, May 18, 2019 12:27 PM To: geocryology/globsim Cc: Subscribed Subject: [geocryology/globsim] JRA Interpolation does not work for small datasets (#22)

When JRA interpolation is attempted from a small JRA dataset (2 grids long, 1 grid lat), interpolation will fail with valid JRA dataset and valid globsim_interpolate and siteslist file with message:

== 2D: file without pressure levels VAR: Relative humidity VAR: Temperature VAR: u-component of wind VAR: v-component of wind Traceback (most recent call last): File "globsim_interpolate.py", line 50, in JRA = JRA, MERRA = MERRA) File "/home/luis/git_down/globsim/globsim_main.py", line 99, in GlobsimInterpolateStation JRAinterp.process() File "/home/luis/git_down/globsim/JRA.py", line 1410, in process varlist, date = self.date) File "/home/luis/git_down/globsim/JRA.py", line 1223, in JRA2station variables=None, date=None) File "/home/luis/git_down/globsim/JRA.py", line 1106, in JRAinterp2D dst_mask_values=None) File "/usr/local/lib/python3.6/dist-packages/ESMF/util/decorators.py", line 64, in new_func return func(*args, *kwargs) File "/usr/local/lib/python3.6/dist-packages/ESMF/api/regrid.py", line 166, in init dstFracField=dst_frac_field) File "/usr/local/lib/python3.6/dist-packages/ESMF/interface/cbindings.py", line 2016, in ESMP_FieldRegridStore '. '+constants._errmsg) ValueError: ESMC_FieldRegridStore() failed with rc = 6. Please check the log files (named "ESMF_LogFile").

Generated PET0.ESMF_LogFile notes that the ESMF regrid weight generation methods and applications do not currently work for source Fields created on Grids which contain a DE of width less than 2 elements. This is a known limitation of ESMF (see known bugs for ESMF_7_1_0_r at http://www.earthsystemmodeling.org/download/data/releases.shtmlhttps://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.earthsystemmodeling.org%2Fdownload%2Fdata%2Freleases.shtml&data=02%7C01%7C%7C2caa4295fe0440bc7de608d6db492d7a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636937504669202075&sdata=ipJ0o%2FPUec9PL2Awe1xx2Olp%2BaH0t36B0%2FHIlJ2eCEo%3D&reserved=0).

Can be reproduced with following parameters for JRA download in globsim_download file:

area bounding box [decimal degrees]

bbN = 65 bbS = 64 bbW = -111 bbE = -109

ground elevation range within area [m]

ele_min = 0 ele_max = 1000

time slice [YYYY/MM/DD]

beg = 2000/01/01 end = 2018/10/31

variables to download [CF Standard Name Table]

variables = air_temperature, relative_humidity, wind_speed, wind_from_direction, precipitation_amount, downwelling_shortwave_flux_in_air, downwelling_longwave_flux_in_air, downwelling_shortwave_flux_in_air_assuming_clear_sky, downwelling_longwave_flux_in_air_assuming_clear_sky

Suspect that ESMF needs more than one lat grid in order to generate weighting grid to interpolate with.

Problems seems to resolve when larger JRA dataset is used. Interpolation was successful with dataset obtained from download file using:

bbN = 66 bbS = 63 bbW = -112 bbE = -108

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgeocryology%2Fglobsim%2Fissues%2F22%3Femail_source%3Dnotifications%26email_token%3DADTZKMKGHT3LY7TZ3QYGX4TPV6AUDA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUQP6GQ&data=02%7C01%7C%7C2caa4295fe0440bc7de608d6db492d7a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636937504669212086&sdata=BVx4uzp2uu2J92%2FxUVtdxsqzncV6gPPIDnaM4zSJ9FU%3D&reserved=0, or mute the threadhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADTZKMPN6MN7CTDK3AJQMILPV6AUDANCNFSM4HNZP7NQ&data=02%7C01%7C%7C2caa4295fe0440bc7de608d6db492d7a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636937504669492308&sdata=ll03ZgwXdgMkrLtMSMRA4DAuvH459B1QiuEI26sNiLs%3D&reserved=0.

LuisGit9 commented 5 years ago

Thanks Bin. I tried with a larger dataset and it works. I thought this would be a useful issue to at least document, as others may run across it and the globsim documentation doesn't really cover it. Perhaps it would also be useful if globsim gave a warning about this limitation when the user is downloading data, or if it generated a more intelligible error for the user that tells then what the problem is during interpolation, including a note on what the minimum required amount of grids is.

stgruber commented 5 years ago

It would be god to always force it to get 4*4 at least.

On May 18, 2019, at 1:48 AM, Luis Padilla notifications@github.com wrote:

[External Email] Thanks Bin. I tried with a larger dataset and it works. I thought this would be a useful issue to at least document, as others may run across it and the globsim documentation doesn't really cover it. Perhaps it would also be useful if globsim gave a warning about this limitation when the user is downloading data, or if it generated a more intelligible error for the user that tells then what the problem is during interpolation.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLWYJYL2I3JQWANV7JTTPV6KCBA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWIGRA#issuecomment-493650756", "url": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLWYJYL2I3JQWANV7JTTPV6KCBA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWIGRA#issuecomment-493650756", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ] This email contains links to content or websites. Always be cautious when clicking on external links or attachments. If in doubt, please forward suspicious emails to phishing@carleton.ca.

This email contains links to content or websites. Always be cautious when clicking on external links or attachments. If in doubt, please forward suspicious emails to phishing@carleton.ca.

-----End of Disclaimer-----

BinCAO-PF commented 5 years ago

Thanks Stephan, I was traveling around for interview last week and now have time to improve globsim. I’ll fix it this week. Bests, Bin

From: stgruber notifications@github.com Sent: Tuesday, May 21, 2019 5:01 AM To: geocryology/globsim globsim@noreply.github.com Cc: BC caobin198912@outlook.com; Comment comment@noreply.github.com Subject: Re: [geocryology/globsim] JRA Interpolation does not work for small datasets (#22)

It would be god to always force it to get 4*4 at least.

On May 18, 2019, at 1:48 AM, Luis Padilla notifications@github.com<mailto:notifications@github.com> wrote:

[External Email] Thanks Bin. I tried with a larger dataset and it works. I thought this would be a useful issue to at least document, as others may run across it and the globsim documentation doesn't really cover it. Perhaps it would also be useful if globsim gave a warning about this limitation when the user is downloading data, or if it generated a more intelligible error for the user that tells then what the problem is during interpolation.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLWYJYL2I3JQWANV7JTTPV6KCBA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWIGRA#issuecomment-493650756", "url": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLWYJYL2I3JQWANV7JTTPV6KCBA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWIGRA#issuecomment-493650756", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ] This email contains links to content or websites. Always be cautious when clicking on external links or attachments. If in doubt, please forward suspicious emails to phishing@carleton.camailto:phishing@carleton.ca.

This email contains links to content or websites. Always be cautious when clicking on external links or attachments. If in doubt, please forward suspicious emails to phishing@carleton.camailto:phishing@carleton.ca.

-----End of Disclaimer-----

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgeocryology%2Fglobsim%2Fissues%2F22%3Femail_source%3Dnotifications%26email_token%3DADTZKMPWZPF35KLWMZGZQS3PWMGPZA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV2B6MA%23issuecomment-494149424&data=02%7C01%7C%7C8eb9108c922c4a890def08d6dd663a62%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636939828468965627&sdata=qne7Hd8u%2FmNqA%2FgoiYgT5USF8Gqbz5RResnwrwsoOGc%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADTZKMN6TTJG7Y4R5W63BU3PWMGPZANCNFSM4HNZP7NQ&data=02%7C01%7C%7C8eb9108c922c4a890def08d6dd663a62%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636939828468985643&sdata=jJJFJcmRLw%2BMwuNaux9Vi7%2BUy8XLcx3OdQ28kz%2FPAN4%3D&reserved=0.

BinCAO-PF commented 5 years ago

Hi Luis and Stephan,

I added a function to check if the area is large enough (4*4) before downloading. If not, GlobSim will stop and print warning information so that the users could adjust themselves.

Bests, Bin

From: stgruber notifications@github.com Sent: Tuesday, May 21, 2019 5:01 AM To: geocryology/globsim globsim@noreply.github.com Cc: BC caobin198912@outlook.com; Comment comment@noreply.github.com Subject: Re: [geocryology/globsim] JRA Interpolation does not work for small datasets (#22)

It would be god to always force it to get 4*4 at least.

On May 18, 2019, at 1:48 AM, Luis Padilla notifications@github.com<mailto:notifications@github.com> wrote:

[External Email] Thanks Bin. I tried with a larger dataset and it works. I thought this would be a useful issue to at least document, as others may run across it and the globsim documentation doesn't really cover it. Perhaps it would also be useful if globsim gave a warning about this limitation when the user is downloading data, or if it generated a more intelligible error for the user that tells then what the problem is during interpolation.

- You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLWYJYL2I3JQWANV7JTTPV6KCBA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWIGRA#issuecomment-493650756", "url": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLWYJYL2I3JQWANV7JTTPV6KCBA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWIGRA#issuecomment-493650756", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ] This email contains links to content or websites. Always be cautious when clicking on external links or attachments. If in doubt, please forward suspicious emails to phishing@carleton.camailto:phishing@carleton.ca.

This email contains links to content or websites. Always be cautious when clicking on external links or attachments. If in doubt, please forward suspicious emails to phishing@carleton.camailto:phishing@carleton.ca.

-----End of Disclaimer-----

- You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgeocryology%2Fglobsim%2Fissues%2F22%3Femail_source%3Dnotifications%26email_token%3DADTZKMPWZPF35KLWMZGZQS3PWMGPZA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV2B6MA%23issuecomment-494149424&data=02%7C01%7C%7C8eb9108c922c4a890def08d6dd663a62%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636939828468965627&sdata=qne7Hd8u%2FmNqA%2FgoiYgT5USF8Gqbz5RResnwrwsoOGc%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADTZKMN6TTJG7Y4R5W63BU3PWMGPZANCNFSM4HNZP7NQ&data=02%7C01%7C%7C8eb9108c922c4a890def08d6dd663a62%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636939828468985643&sdata=jJJFJcmRLw%2BMwuNaux9Vi7%2BUy8XLcx3OdQ28kz%2FPAN4%3D&reserved=0.

stgruber commented 5 years ago

At least the ERAI server does it automatically, even for point locations. I think we could also do that because there is no other choice but having at least 4 x 4 when using bilinear interpolation.

On May 27, 2019, at 6:41 AM, BC notifications@github.com wrote:

[External Email] Hi Luis and Stephan,

I added a function to check if the area is large enough (4*4) before downloading. If not, GlobSim will stop and print warning information so that the users could adjust themselves.

Bests, Bin

From: stgruber notifications@github.com Sent: Tuesday, May 21, 2019 5:01 AM To: geocryology/globsim globsim@noreply.github.com Cc: BC caobin198912@outlook.com; Comment comment@noreply.github.com Subject: Re: [geocryology/globsim] JRA Interpolation does not work for small datasets (#22)

It would be god to always force it to get 4*4 at least.

On May 18, 2019, at 1:48 AM, Luis Padilla notifications@github.com<mailto:notifications@github.com> wrote:

[External Email] Thanks Bin. I tried with a larger dataset and it works. I thought this would be a useful issue to at least document, as others may run across it and the globsim documentation doesn't really cover it. Perhaps it would also be useful if globsim gave a warning about this limitation when the user is downloading data, or if it generated a more intelligible error for the user that tells then what the problem is during interpolation.

- You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLWYJYL2I3JQWANV7JTTPV6KCBA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWIGRA#issuecomment-493650756", "url": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLWYJYL2I3JQWANV7JTTPV6KCBA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWIGRA#issuecomment-493650756", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ] This email contains links to content or websites. Always be cautious when clicking on external links or attachments. If in doubt, please forward suspicious emails to phishing@carleton.camailto:phishing@carleton.ca.

This email contains links to content or websites. Always be cautious when clicking on external links or attachments. If in doubt, please forward suspicious emails to phishing@carleton.camailto:phishing@carleton.ca.

-----End of Disclaimer-----

- You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgeocryology%2Fglobsim%2Fissues%2F22%3Femail_source%3Dnotifications%26email_token%3DADTZKMPWZPF35KLWMZGZQS3PWMGPZA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV2B6MA%23issuecomment-494149424&data=02%7C01%7C%7C8eb9108c922c4a890def08d6dd663a62%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636939828468965627&sdata=qne7Hd8u%2FmNqA%2FgoiYgT5USF8Gqbz5RResnwrwsoOGc%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADTZKMN6TTJG7Y4R5W63BU3PWMGPZANCNFSM4HNZP7NQ&data=02%7C01%7C%7C8eb9108c922c4a890def08d6dd663a62%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636939828468985643&sdata=jJJFJcmRLw%2BMwuNaux9Vi7%2BUy8XLcx3OdQ28kz%2FPAN4%3D&reserved=0. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLW2IN66KNRZAMIG35KTPXO3HNA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWJO7LY#issuecomment-496168879", "url": "https://github.com/geocryology/globsim/issues/22?email_source=notifications\u0026email_token=ABHZLW2IN66KNRZAMIG35KTPXO3HNA5CNFSM4HNZP7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWJO7LY#issuecomment-496168879", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]