NCAR / VAPOR

VAPOR is the Visualization and Analysis Platform for Ocean, Atmosphere, and Solar Researchers
https://www.vapor.ucar.edu/
BSD 3-Clause "New" or "Revised" License
177 stars 49 forks source link

Dataset Bug: idealized WRF data sets not supported #801

Closed sgpearse closed 4 years ago

sgpearse commented 6 years ago

Edit: 1/21/2020

Idealized WRF files (such as yochen, described below) now result in an infinite loop.

===============

The extents seem to be wrong with WRF/yochen

To reproduce: 1) Spin up Vapor with WRF/yochen/wrfout_d05_2005-07-10_00:10:00 2) The domain appears as a thin line. See screenshot.

screen shot 2018-05-04 at 10 56 28 am

nmoisseeva commented 5 years ago

Seems to be the same issue as with v2 https://sourceforge.net/p/vapor/bugs/1259/ XLONG/XLAT coordinates are in meters for idealized simulations (not degrees, as read by vapor)

clyne commented 4 years ago

VAPOR3 does indeed support idealized WRF simulations. See #1947 .

However, older WRF data sets (pre WRF 4.x) don't have the necessary NetCDF attributes for VAPOR to determine if a simulation output is idealized or not. The "yochen" data set reported in this bug is from WRF version 2.x

nmoisseeva commented 4 years ago

Thanks for the update! Seems to be the same issue as with VAPOR2. What specific attributes does VAPOR 3 require? (if you are able to add a short documentation it would be very helpful, I am using WRF v3.x and it fails the same)

Thanks again!

Nadya Moisseeva Department of Earth, Ocean and Atmospheric Sciences The University of British Columbia nmoisseeva@eoas.ubc.camailto:nmoisseeva@eoas.ubc.ca

On Jan 21, 2020, at 11:35 AM, clyne notifications@github.com<mailto:notifications@github.com> wrote:

VAPOR3 does indeed support idealized WRF simulations. See #1947https://github.com/NCAR/VAPOR/issues/1947 .

However, older WRF data sets (pre WRF 4.x) don't have the necessary NetCDF attributes for VAPOR to determine if a simulation output is idealized or not. The "yochen" data set reported in this bug is from WRF version 2.x

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/NCAR/VAPOR/issues/801?email_source=notifications&email_token=ABKNM5HAKJKF4YJ4ZO2UWODQ65E7ZA5CNFSM4E6L3OX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJQ7BWA#issuecomment-576843992, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABKNM5FWXJOTJKV7ZLHQIITQ65E7ZANCNFSM4E6L3OXQ.

clyne commented 4 years ago

Do you have a WRF dataset that demonstrates this problem that you can share with us?

nmoisseeva commented 4 years ago

The datafiles I have are quite large (~33GB). As with other WRF v3.x it’s not CF compliant. You can download it at: https://drive.google.com/file/d/1JZw3Arg_BKoEkQhElpIdxNvBn7KI27IN/view?usp=sharing

This is a simulation using WRF-SFIRE (based on model version 3.4) configured in idealized large-eddy simulation mode. It contains the main grid on XLAT XLONG (in meters, though wrf stores the data with units of degrees), and a fire subgrid on FXLAT and FXLONG (similarly in meters).

If the download is too much, you can see the wrfout header from a similar simulation attached to this email.

Nadya Moisseeva Department of Earth, Ocean and Atmospheric Sciences The University of British Columbia nmoisseeva@eoas.ubc.camailto:nmoisseeva@eoas.ubc.ca

On Jan 21, 2020, at 3:44 PM, clyne notifications@github.com<mailto:notifications@github.com> wrote:

Do you have a WRF dataset that demonstrates this problem that you can share with us?

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/NCAR/VAPOR/issues/801?email_source=notifications&email_token=ABKNM5FCNHQWLET2DNWNW3TQ66CEVA5CNFSM4E6L3OX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJRWL5Y#issuecomment-576939511, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABKNM5EAQPCLCL5ZO53VPXDQ66CEVANCNFSM4E6L3OXQ.

netcdf wrfout_L1 { dimensions: Time = UNLIMITED ; // (80 currently) DateStrLen = 19 ; west_east_stag = 501 ; south_north = 250 ; bottom_top = 50 ; west_east = 500 ; south_north_stag = 251 ; bottom_top_stag = 51 ; west_east_subgrid = 5010 ; south_north_subgrid = 2510 ; variables: char Times(Time, DateStrLen) ; float U(Time, bottom_top, south_north, west_east_stag) ; U:FieldType = 104 ; U:MemoryOrder = "XYZ" ; U:description = "x-wind component" ; U:units = "m s-1" ; U:stagger = "X" ; U:coordinates = "XLONG_U XLAT_U" ; float V(Time, bottom_top, south_north_stag, west_east) ; V:FieldType = 104 ; V:MemoryOrder = "XYZ" ; V:description = "y-wind component" ; V:units = "m s-1" ; V:stagger = "Y" ; V:coordinates = "XLONG_V XLAT_V" ; float W(Time, bottom_top_stag, south_north, west_east) ; W:FieldType = 104 ; W:MemoryOrder = "XYZ" ; W:description = "z-wind component" ; W:units = "m s-1" ; W:stagger = "Z" ; W:coordinates = "XLONG XLAT" ; float PH(Time, bottom_top_stag, south_north, west_east) ; PH:FieldType = 104 ; PH:MemoryOrder = "XYZ" ; PH:description = "perturbation geopotential" ; PH:units = "m2 s-2" ; PH:stagger = "Z" ; PH:coordinates = "XLONG XLAT" ; float PHB(Time, bottom_top_stag, south_north, west_east) ; PHB:FieldType = 104 ; PHB:MemoryOrder = "XYZ" ; PHB:description = "base-state geopotential" ; PHB:units = "m2 s-2" ; PHB:stagger = "Z" ; PHB:coordinates = "XLONG XLAT" ; float T(Time, bottom_top, south_north, west_east) ; T:FieldType = 104 ; T:MemoryOrder = "XYZ" ; T:description = "perturbation potential temperature (theta-t0)" ; T:units = "K" ; T:stagger = "" ; T:coordinates = "XLONG XLAT" ; float P(Time, bottom_top, south_north, west_east) ; P:FieldType = 104 ; P:MemoryOrder = "XYZ" ; P:description = "perturbation pressure" ; P:units = "Pa" ; P:stagger = "" ; P:coordinates = "XLONG XLAT" ; float PB(Time, bottom_top, south_north, west_east) ; PB:FieldType = 104 ; PB:MemoryOrder = "XYZ" ; PB:description = "BASE STATE PRESSURE" ; PB:units = "Pa" ; PB:stagger = "" ; PB:coordinates = "XLONG XLAT" ; float XTIME(Time) ; XTIME:FieldType = 104 ; XTIME:MemoryOrder = "0 " ; XTIME:description = "minutes since simulation start" ; XTIME:units = "" ; XTIME:stagger = "" ; float QVAPOR(Time, bottom_top, south_north, west_east) ; QVAPOR:FieldType = 104 ; QVAPOR:MemoryOrder = "XYZ" ; QVAPOR:description = "Water vapor mixing ratio" ; QVAPOR:units = "kg kg-1" ; QVAPOR:stagger = "" ; QVAPOR:coordinates = "XLONG XLAT" ; float XLAT(Time, south_north, west_east) ; XLAT:FieldType = 104 ; XLAT:MemoryOrder = "XY " ; XLAT:description = "LATITUDE, SOUTH IS NEGATIVE" ; XLAT:units = "degree_north" ; XLAT:stagger = "" ; float XLONG(Time, south_north, west_east) ; XLONG:FieldType = 104 ; XLONG:MemoryOrder = "XY " ; XLONG:description = "LONGITUDE, WEST IS NEGATIVE" ; XLONG:units = "degree_east" ; XLONG:stagger = "" ; float GRNHFX(Time, south_north, west_east) ; GRNHFX:FieldType = 104 ; GRNHFX:MemoryOrder = "XY " ; GRNHFX:description = "heat flux from ground fire" ; GRNHFX:units = "W/m^2" ; GRNHFX:stagger = "Z" ; GRNHFX:coordinates = "XLONG XLAT" ; float FGRNHFX(Time, south_north_subgrid, west_east_subgrid) ; FGRNHFX:FieldType = 104 ; FGRNHFX:MemoryOrder = "XY " ; FGRNHFX:description = "heat flux from ground fire" ; FGRNHFX:units = "W/m^2" ; FGRNHFX:stagger = "Z" ; FGRNHFX:coordinates = "XLONG XLAT" ; float FXLONG(Time, south_north_subgrid, west_east_subgrid) ; FXLONG:FieldType = 104 ; FXLONG:MemoryOrder = "XY " ; FXLONG:description = "longitude of midpoints of fire cells, or grid coordinate in ideal" ; FXLONG:units = "degrees" ; FXLONG:stagger = "Z" ; FXLONG:coordinates = "XLONG XLAT" ; float FXLAT(Time, south_north_subgrid, west_east_subgrid) ; FXLAT:FieldType = 104 ; FXLAT:MemoryOrder = "XY " ; FXLAT:description = "latitude of midpoints of fire cells, or grid coordinate in ideal" ; FXLAT:units = "degrees" ; FXLAT:stagger = "Z" ; FXLAT:coordinates = "XLONG XLAT" ; float tr17_1(Time, bottom_top, south_north, west_east) ; tr17_1:FieldType = 104 ; tr17_1:MemoryOrder = "XYZ" ; tr17_1:description = "tr17_1" ; tr17_1:units = "-" ; tr17_1:stagger = "" ; tr17_1:coordinates = "XLONG XLAT" ;

// global attributes: :TITLE = " OUTPUT FROM WRF V3.4 MODEL" ; :START_DATE = "0000-08-01_12:30:00" ; :SIMULATION_START_DATE = "0000-08-01_11:30:00" ; :WEST-EAST_GRID_DIMENSION = 501 ; :SOUTH-NORTH_GRID_DIMENSION = 251 ; :BOTTOM-TOP_GRID_DIMENSION = 51 ; :DX = 40.f ; :DY = 40.f ; :GRIDTYPE = "C" ; :DIFF_OPT = 2 ; :KM_OPT = 2 ; :DAMP_OPT = 2 ; :DAMPCOEF = 0.2f ; :KHDIF = 0.05f ; :KVDIF = 0.05f ; :MP_PHYSICS = 0 ; :RA_LW_PHYSICS = 0 ; :RA_SW_PHYSICS = 0 ; :SF_SFCLAY_PHYSICS = 1 ; :SF_SURFACE_PHYSICS = 1 ; :BL_PBL_PHYSICS = 0 ; :CU_PHYSICS = 0 ; :SURFACE_INPUT_SOURCE = 1 ; :SST_UPDATE = 0 ; :GRID_FDDA = 0 ; :GFDDA_INTERVAL_M = 0 ; :GFDDA_END_H = 0 ; :GRID_SFDDA = 0 ; :SGFDDA_INTERVAL_M = 0 ; :SGFDDA_END_H = 0 ; :HYPSOMETRIC_OPT = 2 ; :SF_URBAN_PHYSICS = 0 ; :SHCU_PHYSICS = 0 ; :MFSHCONV = 0 ; :FEEDBACK = 1 ; :SMOOTH_OPTION = 0 ; :SWRAD_SCAT = 1.f ; :W_DAMPING = 0 ; :MOIST_ADV_OPT = 1 ; :SCALAR_ADV_OPT = 1 ; :TKE_ADV_OPT = 1 ; :DIFF_6TH_OPT = 0 ; :DIFF_6TH_FACTOR = 0.12f ; :OBS_NUDGE_OPT = 0 ; :BUCKET_MM = -1.f ; :BUCKET_J = -1.f ; :PREC_ACC_DT = 0.f ; :OMLCALL = 0 ; :ISFTCFLX = 0 ; :ISHALLOW = 0 ; :DFI_OPT = 0 ; :WEST-EAST_PATCH_START_UNSTAG = 1 ; :WEST-EAST_PATCH_END_UNSTAG = 500 ; :WEST-EAST_PATCH_START_STAG = 1 ; :WEST-EAST_PATCH_END_STAG = 501 ; :SOUTH-NORTH_PATCH_START_UNSTAG = 1 ; :SOUTH-NORTH_PATCH_END_UNSTAG = 250 ; :SOUTH-NORTH_PATCH_START_STAG = 1 ; :SOUTH-NORTH_PATCH_END_STAG = 251 ; :BOTTOM-TOP_PATCH_START_UNSTAG = 1 ; :BOTTOM-TOP_PATCH_END_UNSTAG = 50 ; :BOTTOM-TOP_PATCH_START_STAG = 1 ; :BOTTOM-TOP_PATCH_END_STAG = 51 ; :GRID_ID = 1 ; :PARENT_ID = 0 ; :I_PARENT_START = 0 ; :J_PARENT_START = 0 ; :PARENT_GRID_RATIO = 1 ; :DT = 0.1f ; :CEN_LAT = 0.f ; :CEN_LON = 0.f ; :TRUELAT1 = 0.f ; :TRUELAT2 = 0.f ; :MOAD_CEN_LAT = 0.f ; :STAND_LON = 0.f ; :POLE_LAT = 0.f ; :POLE_LON = 0.f ; :GMT = 0.f ; :JULYR = 0 ; :JULDAY = 1 ; :MAP_PROJ = 0 ; :MMINLU = "USGS" ; :NUM_LAND_CAT = 24 ; :ISWATER = 0 ; :ISLAKE = 0 ; :ISICE = 0 ; :ISURBAN = 0 ; :ISOILWATER = 0 ; }