Open emilyhcliu opened 5 days ago
@rmclaren I found the problem why the bufr-query did not run when setting MPI numbers < 4 on HERCULES. It is a memory problem!! The problem went away after more memory size was allocated.
Setting MPI number = 1
srun -n $nproc --mem 96G --time 00:30:00 ${src_dir}/build/bin/bufr2netcdf.x ${input_file} $yaml ${output_file}
+ srun -n 1 --mem 96G --time 00:30:00 /work/noaa/da/eliu/HERCULES/EMC-bufr-query/bufr-query/build/bin/bufr2netcdf.x /work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/testinput/2021080100/gdas.t00z.satwnd.tm00.bufr_d /work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/bufr2ioda_satwind_amv_goes_mapping.yaml '/work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/testoutput/2021080100/bufr_backend_mpi1/gdas.t00z.satwind_abi_{splits/satId}.tm00.nc'
srun: job 3134183 queued and waiting for resources
srun: job 3134183 has been allocated resources
BufrParser: Parsing file /work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/testinput/2021080100/gdas.t00z.satwnd.tm00.bufr_d
Executing Queries
Building Bufr Data
Exporting Data
Parser Finished [158.523s]
Category (goes-18) was not found in file.
Encoder Finished [2.628s]
Total Time [166.154s]
Setting MPI number = 2
srun -n $nproc --mem 96G --time 00:30:00 ${src_dir}/build/bin/bufr2netcdf.x ${input_file} $yaml ${output_file}
+ srun -n 2 --mem 96G --time 00:30:00 /work/noaa/da/eliu/HERCULES/EMC-bufr-query/bufr-query/build/bin/bufr2netcdf.x /work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/testinput/2021080100/gdas.t00z.satwnd.tm00.bufr_d /work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/bufr2ioda_satwind_amv_goes_mapping.yaml '/work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/testoutput/2021080100/bufr_backend_mpi2/gdas.t00z.satwind_abi_{splits/satId}.tm00.nc'
srun: job 3134182 queued and waiting for resources
srun: job 3134182 has been allocated resources
BufrParser: Parsing file /work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/testinput/2021080100/gdas.t00z.satwnd.tm00.bufr_d
BufrParser: Parsing file /work/noaa/da/eliu/HERCULES/EMC-bufr-query/run_satwind/testinput/2021080100/gdas.t00z.satwnd.tm00.bufr_d
MPI task: 0 Executing Queries for message 0 to 5061
MPI task: 1 Executing Queries for message 5062 to 10123
MPI task: 0 Building Bufr Data
MPI task: 1 Building Bufr Data
MPI task: 0 Exporting Data
MPI task: 0 Parser Finished [78.092s]
MPI task: 1 Exporting Data
MPI task: 1 Parser Finished [82.648s]
Category (goes-18) was not found in file.
Encoder Finished [2.572s]
Total Time [88.75s]
@rmclaren Summary:
The above, is testing bufr conversion using mapping file only; no Python script is involved. I am testing bufr conversion with mapping and python script together.
Test Test BUFR to NetCDF (IODA format) conversion with various MPI numbers (1, 2, 4, 8, 12, 24) for satwind GOES.
Mapping file was used, not python script involved
Results
Here is the run-time output for MPI = 2
The process was hung until running out of allocated time.
Here is the Mapping file: