Feature-relative use case with WRF data? #1177
-
Hi, However, I get the following error when it's running series_analysis:
This seems to suggest that it thinks the variable is 3D instead of 2D? Technically, it is 3D (Time, south_north, west_east), though the first dimension only has 1 element (one time per wrfout file). Is there a way around this? I can copy/paste the config file and full error logs, but they are quite long. Thank you. |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 8 replies
-
Hello Nick. I see you're having trouble running the METplus feature relative use case on WRF output. Rather than copy/pasting the full error logs and your METplus configuration files into the message, please just drag/drop them as an attachment. If GitHub complains about the filename suffixes, please just store them in a tar.gz file. For example:
This command creates are tarred/zipped file containing all the files that match *.log or *.conf. GitHub will allow you to attach that tar.gz file to this discussion. @georgemccabe is the best person to actually address this issue, and he'll be back in the office tomorrow. I do believe that for the feature relative use case, METplus calls the regrid_data_plane tool on the input WRF files to cut out tiles centered on the feature (i.e. hurricane center location). Those calls to regrid_data_plane read data from the WRFOUT file and will need 'level = "(0,*,*)";' to do so. However, the next step in the use case calls the series_analysis tool using those tiles as input. But that call to series_analysis needs 'level = "(*,*)";' since the MET NetCDF output currently does NOT include the time dimension. Hopefully @georgemccabe can sort through the details and recommend how to tweak your METplus configuration to get these steps working. |
Beta Was this translation helpful? Give feedback.
-
Hi Nick, I believe @JohnHalleyGotway is on the right track in regards to this error. In the existing feature relative examples, the field info can be defined the same for ExtractTiles and SeriesAnalysis wrappers, however in your case you will need to define the field info for each tool separately. Instead of defining:
you should try setting:
This configuration will read a 2D slab of data from the 3D input field into regrid_data_plane via ExtractTiles wrapper and write a 2D field that will be read into SeriesAnalysis. The exact field configuration may slightly differ from the above example since I can't see what you currently have configured. If you are still unable to get it to work properly, please send the information that John requested so I can take a closer look. Thanks. |
Beta Was this translation helpful? Give feedback.
-
Sorry for the delay. It's been a very chaotic couple of weeks. I replaced the section you mentioned, but it did not work. The first error it returns seems to involve it being unable to find the wrfout file... even though it had gotten past this part in my last attempt and the file/path it claims is invalid is definitely there. Reincluding the "BOTH_VAR1_..." flags at least gets to the point where it reads the file, but then it says. Incidentally, I work on a Windows laptop and have been unable to ssh to Cheyenne directly. I got around this by ssh-ing to my University's cluster and from there to Cheyenne. However, we recently updated the cluster. After removing the old keys on both ends and so forth, I'm still able to ssh from my cluster to Cheyenne, but I am unable to transfer files from Cheyenne to my cluster. I get this error now. Unable to negotiate with ... port 22: no matching key exchange method found. Their offer: ... It doesn't seem to be a problem with my university's cluster. What can I do to get around this on Cheyenne? Thank you. |
Beta Was this translation helpful? Give feedback.
-
It's strange... There is 2D (40-by-40) field named PBLH in that file, but it's empty. This variable is definitely not empty in the original wrfout files. I added the LOG_LEVEL = DEBUG flag, but it's not clear to me why it's failing. I still get: This is all just a simple test in which I am strictly doing a one-to-one comparison between two sets of files from 1 initialization cycle (e.g., comparing the same forecast hours/ valid times between sets). Hence, I'm not concerned about complex comparisons in which I validate different hours between sets. Thank you. |
Beta Was this translation helpful? Give feedback.
-
OK, I looked at the use case on Cheyenne and the issue is the value that is set for the offset to apply to the lat/lon points of the storm track to calculate the lower left corner. You had the following set:
The domain of the input WRF files are about 3.5 by 8 degrees, so subtracting 10 from the lat/lon points of the storm track (i.e. 40.3/-73.1) resulted in a lower left corner that was way off of the input grid. I changed these values to 1. I also slightly adjusted the dx/dy values set by EXTRACT_TILES_DLAT/LON to 0.05 to match the nx/ny (40/40) and new offset values:
We have discussed removing the EXTRACT_TILES_[LON/LAT]_ADJ in favor of simply calculating the offset based on the values of NLAT/NLON/DLAT/LON to prevent this type of mistake. With these adjustments I was able to get extract tiles output that had valid data and SeriesAnalysis ran without error. I noticed the your SERIES_ANALYSIS_OUTPUT_TEMPLATE value referenced {fcst_level}, which is a NetCDF level value, i.e. (*,*), that doesn't work well in output filenames. I removed references to that variable to prevent that. The animation files that are generated appear to be hard-coded to include the level value, so improvements to that logic to prevent the use of the wildcard * character could be useful. You can see my modified conf file on Cheyenne here: /glade/u/home/mccabe/TCStat_SeriesAnalysis_wrfPBLH_test.conf and the output from my run here: /glade/u/home/mccabe/data/out-elsa |
Beta Was this translation helpful? Give feedback.
-
Thank you. It looks to have worked. |
Beta Was this translation helpful? Give feedback.
OK, I looked at the use case on Cheyenne and the issue is the value that is set for the offset to apply to the lat/lon points of the storm track to calculate the lower left corner. You had the following set:
The domain of the input WRF files are about 3.5 by 8 degrees, so subtracting 10 from the lat/lon points of the storm track (i.e. 40.3/-73.1) resulted in a lower left corner that was way off of the input grid. I changed these values to 1. I also slightly adjusted the dx/dy values set by EXTRACT_TILES_DLAT/LON to 0.05 to match the nx/ny (40/40) and new offset values: