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

EXCEPTION std::regex failure #50

Open
onnyyonn opened this issue Apr 11, 2023 · 3 comments
Open

EXCEPTION std::regex failure #50

onnyyonn opened this issue Apr 11, 2023 · 3 comments

Comments

@onnyyonn
Copy link

I am new to Tempest Extremes and I am running a test DetectNodes job to test it out. I am running the following script at Cheyenne:

yr='2010'
mth='02'

# Prepare list of input files
ERA5_folder=/glade/collections/rda/data/ds633.0
z_files=( $ERA5_folder/e5.oper.an.pl/${yr}${mth}/e5.oper.an.pl.128_129_z.ll025sc.${yr}${mth}[0-9][0-9]00_${yr}${mth}[0-9][0-9]23.nc )
printf -v z_files_joined '%s;' "${z_files[@]}"
msl_file=$ERA5_folder/e5.oper.an.sfc/${yr}${mth}/e5.oper.an.sfc.128_151_msl.ll025sc.${yr}${mth}0100_${yr}${mth}$(cal $mth $yr | awk 'NF {DAYS = $NF}; END {print DAYS}')23.nc
u10_file=$ERA5_folder/e5.oper.an.sfc/${yr}${mth}/e5.oper.an.sfc.128_165_10u.ll025sc.${yr}${mth}0100_${yr}${mth}$(cal $mth $yr | awk 'NF {DAYS = $NF}; END {print DAYS}')23.nc 
v10_file=$ERA5_folder/e5.oper.an.sfc/${yr}${mth}/e5.oper.an.sfc.128_166_10v.ll025sc.${yr}${mth}0100_${yr}${mth}$(cal $mth $yr | awk 'NF {DAYS = $NF}; END {print DAYS}')23.nc
echo ${z_files_joined}${msl_file}\;${u10_file}\;${v10_file} > ERA5_TC_files.txt

# Output file
mkdir -p nodes
NODES_FILE=nodes/${yr}${mth}.txt

# Detect Nodes
~/tempestextremes/bin/DetectNodes \
    --in_data_list ERA5_TC_files.txt \
    --out $NODES_FILE \
    --timefilter "6hr" \
    --searchbymin MSL \
    --closedcontourcmd "MSL,200.0,5.5,0;_DIFF(Z(300hPa),Z(500hPa)),-58.8,6.5,1.0" \
    --mergedist 6.0 \
    --outputcmd  "MSL,min,0;_DIV(Z(1000hPa),9.81),max,0;_VECMAG(VAR_10U,VAR_10V),max,2" \
    --latname latitude --lonname longitude

This is the output:

Parsing closed contour operations
..MSL increases by 200.000000 over 5.500000 degrees (min search 0.000000 deg)
.._DIFF(Z(300hPa),Z(500hPa)) decreases by 58.800000 over 6.500000 degrees (max search 1.000000 deg)
..Done
Parsing output operations
..Minimum of MSL within 0.000000 degrees
..Maximum of _DIV(Z(1000hPa),9.81) within 0.000000 degrees
..Maximum of _VECMAG(VAR_10U,VAR_10V) within 2.000000 degrees
..Done
Begin search operation
..EXCEPTION (../../src/base/TimeMatch.h, Line 42) std::regex failure; std::regex does not appear to work on this system

I would appreciate any help resolving this issue.

@paullric
Copy link
Collaborator

paullric commented Apr 11, 2023 via email

@onnyyonn
Copy link
Author

onnyyonn commented Apr 12, 2023

Thank you. I can confirm that if the timefilter operation is removed, the rest of the script works as expected.

@zarzycki
Copy link
Contributor

zarzycki commented Apr 12, 2023

Alternatively, you can use the --timestride input (e.g., if you have hourly data at 00Z, 01Z, 02Z, so on and would to track on 6-hourly synoptic snapshots, you can use --timestride 6). I can confirm that that does work on Cheyenne.

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

3 participants